CSS を使用してメニュー・アイコンの作成方法を学習します。
アイコン・ライブラリを使用していない場合は、CSS を使用して基本的なメニュー・アイコンを作成できます:
メニュー・アイコン:
アニメ付きメニューアイコン(クリックしてください):
<div></div>
<div></div>
<div></div>
width
と height
プロパティは、各バーの幅と高さを指定します。
黒の background-color
を追加すると共に、各バーの間にある程度の距離を作成するために、
上下に margin
を使用しています。
クリックした時に、CSS と JavaScript を使用し、メニューアイコンを "cancel/remove" アイコンに変更します:
<div class="container" onclick="myFunction(this)">
<div
class="bar1"></div>
<div class="bar2"></div>
<div
class="bar3"></div>
</div>
.container {
display: inline-block;
cursor: pointer;
}
.bar1, .bar2, .bar3 {
width: 35px;
height: 5px;
background-color: #333;
margin: 6px 0;
transition: 0.4s;
}
/* Rotate
first bar */
.change .bar1 {
-webkit-transform: rotate(-45deg) translate(-9px, 6px) ;
transform: rotate(-45deg) translate(-9px, 6px) ;
}
/* Fade out the
second bar */
.change .bar2 {
opacity: 0;
}
/* Rotate last bar */
.change .bar3 {
-webkit-transform:
rotate(45deg) translate(-8px, -8px) ;
transform:
rotate(45deg) translate(-8px, -8px) ;
}
HTML & CSS: これまでと同じスタイルを使用しますが、今回は、各 <div> 要素の周りをコンテナ要素でラップし、 それぞれにクラス名を指定します。
コンテナ要素は、ユーザが div(バー)の上にマウスを移動したときに、ポインタ記号を表示するために使用します。 クリックすると、各横バーのスタイルを変更するための新しいクラス名を追加する JavaScript 関数が実行されます: 最初と最後のバーを変形し、回転することで文字 "x" にします。 中央のバーはフェードアウトして、非表示にします。