下記のアニメーションメニュー(CSS3 Animation Menus)は、Javascriptは一切使わず、CSSだけで実行したものです。こちらのサイトに掲載されているアニメーションメニューです。オリジナルソースとは若干違います。
下記のリストメニューにマウスオーバーしてみるとわかりますが、アイコンとメインタイトル、サブタイトルそれぞれが変化します。
リストメニューの基本構造は親要素の<ul>と子要素の<li>の組み合わせです。まずul要素を指定します。
ul{
padding: 0;
margin: 20px auto;/*中央寄せに指定*/
width: 100%;
}
各リストメニュー<li>要素の基本枠を指定します。
ul li{
width: 100%;
height: 100px;
overflow: hidden;/*ボックスの範囲内に内容が入りきらず、はみ出た部分は表示しない*/
display: block;/*ブロック要素の表示でメニューを縦型にする*/
background: #fff;/*背景は白*/
box-shadow: 1px 1px 2px rgba(0,0,0,0.2);/*メニューの外枠に影をつける*/
margin-bottom: 5px;/*下のメニューとの間隔*/
border-left: 10px solid #000; /*メニューの左先頭は黒色・厚さは10pxに指定*/
transition: all 300ms ease-in-out;
/*メニューにマウスオーバーしたときにtransitionアニメーションを指定する*/
/*ease-in-out:ゆっくり始まり、ゆっくり終了する*/
}
最後のリストメニューと<a>リンク要素についてのCSSを指定します。
ul li:last-child{
margin-bottom: 0px;
/*最後のメニューの下マージンを0pxに指定*/
}
ul li a{ /*リンク要素の指定*/
position:relative;/*相対位置に指定。これがアイコンとタイトルの基準位置になる*/
text-align: left;/*左寄せに配置*/
display: block;
width: 100%;/*マウスオーバー時にメニューの幅全体がリンク対象になる*/
height: 100%;/*マウスオーバー時にメニューの高さ全体がリンク対象になる*/
color: #333;/*文字色*/
}
スポンサーリンク
メニューの左に表示されるアイコンについてCSSを指定します。ここで使われているアイコンは「Fontawesome」から引っ張ってきました。相対位置に指定したメニューの<a>リンク要素を基準にアイコンを絶対位置(position: absolute;)に指定します。
.icons{
position: absolute;/*絶対位置に指定*/
font-size: 30px;
text-shadow: 0px 0px 1px #333;
line-height: 90px;
width: 90px;
left: 20px;
text-align: center;
transition: all 300ms linear;
}
メインタイトルとサブタイトルの枠のサイズと位置を指定します。相対位置に指定したメニューの<a>リンク要素を基準にアイコンを絶対位置(position: absolute;)に指定します。
.sub-menubar{
position:absolute;/*絶対位置に指定*/
left: 125px;
width: 100%;
max-height: 60px;
top:25px;
}
メインタイトルとサブタイトルのサイズや色を指定します。 またマウスオーバーした際のtransitionアニメーションを指定します。
.titles{
font-size: 30px;
transition: all 300ms linear;
}
.subtitles{
font-size: 14px;
color: #666;
transition: all 300ms linear;
}
メニューにマウスオーバーした際にアイコンとメインタイトル、サブタイトルのそれぞれをどう変化させるかを指定します。ここまでがCSSのコーディングです。
ul li:hover{
border-color: #fff004;
background: #000;
}
ul li:hover .icons{
color: #fff004;
text-shadow: 0px 0px 1px #fff004;
font-size: 50px;
}
ul li:hover .titles{
color: #fff004;
font-size: 14px;
}
ul li:hover .subtitles{
color: #fff;
font-size: 30px;
}
これからはHTMLソースです。下記のコードのように各リストメニューを記述します。
<ul>
<li>
<a href="#">
<span class="icons"><i class="fa fa-home"></i></span>
<div class="sub-menubar">
<p class="titles">TOP PAGE</p>
<p class="subtitles">初心者のためのHTMLホームページ</p>
</div>
</a>
</li>
.
.
.
</ul>
スポンサーリンク
スポンサーリンク
Category
BILLION WALLET Copyright©All rights reserved