icon
icon

画像を使わない!CSSだけで矢印を作る方法【初心者向け】現役Webデザイナーが解説

初心者向けにCSSだけで矢印のアイコンを作る方法について解説しています。画像を使わずにCSSで矢印を作れるようになればサイト制作にも役立つはずです。実際にコードを書きながら例をもとに説明しているので、ぜひご覧ください。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

今回はCSSで矢印を作る方法を説明します。

今まで画像を使って矢印をつけていたという方も、自分で書けるようになっておくと見た目の調整がしやすいでしょう。

様々な形の矢印の作り方を紹介しているので、ぜひ参考にしてみてください。

目次

そもそもCSSについてよく分からないという方は、CSSの書き方について解説した記事を読むとさらに理解が深まります。

 

CSSで作る矢印アイコンの書き方

CSSで作る矢印アイコンについて説明します。

画像は使わずにCSSだけを使って矢印を作成することができるので参考にしてみてください。

また、CSSのスキルアップにも使えるので、CSSのスキルアップを目指している方は、ぜひオリジナルの矢印を作ってみましょう。

 

まずは、簡単に矢印の書き方を紹介する上で、左上から右下へのL字矢印を作ってみようと思います。

直角に曲がる矢印になります。

HTML

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
    <title>CSS arrow</title>
    <link rel="stylesheet" type="text/css" href="sample.css">
   <meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
  </head>
  <body>

   <div class="arrow"></div>

  </body>
</html>

 

CSS

.arrow{
  position: relative;
  width: 200px;
  height: 50px;
  border-top: 8px solid #5bc0de;
  border-right: 8px solid #5bc0de;
  box-sizing: border-box;
}

.arrow::after{
  content: "";
  position: absolute;
  bottom: -14px;
  right: -17px;
  border-top: 14px solid #5bc0de;
  border-left: 14px solid transparent;
  border-right: 14px solid transparent;
}

 

ブラウザでの表示を確認してみましょう。

スクリーンショット 2016-08-31 10.20.42

上のような矢印をいくつか作っていきましょう。

以下で紹介している矢印は、HTMLの変更はなく、CSSの変更のみで作成可能です。

 

[PR] Webデザインで副業する方法とは

三角の矢印の作り方

次は、四角に囲まれた三角の矢印アイコンを実現します。

CSS

.arrow{
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
}

.arrow::before{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  box-sizing: border-box;
  width: 12px;
  height: 12px;
  border: 1px solid #ff0000;
  -webkit-border-radius: 25%;
  border-radius: 25%;
}

.arrow::after{
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  left: 5px;
  box-sizing: border-box;
  width: 3px;
  height: 3px;
  border: 3px solid transparent;
  border-left: 3px solid #ff0000;
}

 

以下のような赤い四角で囲まれた赤の三角が入った小さなアイコンが表示されます。

css_12_02

このような小さなアイコンも表示させることができます。

CSS矢印はこのように「after擬似要素」、「before擬似要素」を用いながら設計していきます。

「after擬似要素」はそのクラスの直後に挿入するもので、「before擬似要素」はクラスの直前に挿入するもののことです。

このようにメインに装飾する形で図形を描いていきましょう。

 

田島悠介

beforeは要素の直前、afterは要素の直後に文字や画像を入れる擬似要素だよ。

大石ゆかり

矢印以外にもいろいろなところで使えそうですね。

田島悠介

次はいろいろな形の矢印を作成してみよう。

 

「く」の字型矢印の作り方

次は「く」の字のような型の矢印を描きます。

CSS

.arrow{
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #5bc0de;
  border-right: solid 2px #5bc0de;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

 

水色の「く」の字が表示されます。

css_12_03

Webサイト上でもよく見るような矢印のアイコンなので、作り方を覚えておくと良いでしょう。

 

上向き矢印の作り方

次は上向き矢印を表現しましょう。

CSS

.arrow{
  width: 0px;
  border-color: #d9534f;
  border-style: solid;
  border-width: 30px;
  border-left-color: transparent;
  border-top-color: transparent;
  border-right-color: transparent;
}

 

これも上向き矢印として使うことができます。

css_12_04

 

オーソドックスな大きな矢印の作り方

最後は、オーソドックスな大きな矢印を実現してみましょう。

CSS

.arrow {
  display:inline-block;
  height:40px;
  width:80px;
  background-color:#5bc0de;
  position:relative;
  top:40px;
}

.arrow:before {
  position:absolute;
  content:"";
  width:0;
  height:0;
  border:60px solid transparent;
  border-left:60px solid #5bc0de;
  left:80px;
  top:-37px;
}

 

スタンダードな矢印をコーディングできました。

css_12_05

 

 

以上、CSSで矢印を作成する書き方を説明しました。

ぜひ自分でアレンジしてみてください。

 

田島悠介

それぞれの矢印を実装できたかな?

大石ゆかり

画面で表示できました!

田島悠介

まずは基本の形を覚えて、大きさや色を変えてみよう。

大石ゆかり

そうですね、試してみます。

ありがとうございました!

 

監修してくれたメンター

メンターOM

Webデザインの勉強のためロサンゼルスに留学。
その後、現地のWeb制作会社に就職し、Webデザイナーとしてのキャリアをスタート。

現在もロサンゼルスで働く傍ら、フリーランスのWebデザイナーとして、
アメリカだけでなく日本からのWeb制作も請け負う。
また、画像のリタッチが得意なので、しばしばリタッチの依頼も請け負う。

 

TechAcademyでは、初心者でもオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。