Web制作をしていると、グロナビのホバーアニメの持ちネタが尽きます。そこで、グロナビのためのCSSアニメーションスニペット集を作ってみました。
おしゃれだけど実務で使えること前提に用意しました。コピペで使えるので参考にしてください。
この記事を書いた人
かみーゆ/フロントエンドエンジニア
グロナビ(グローバルメニュー)のホバーアニメを作る前提条件
- リセットCSSを必ず読み込んでください
- サンプルのフルコードはCode Pen内に置いてあります!
- 基本的にコピペでもイケますが、ある程度CSSやHTMLを理解していいた方がアレンジできて楽しいです。
- スマホはホバーアニメしないので考慮していません。
- あまりグロナビのアニメが凝りすぎると、全体のトンマナを損ないます。わりと控えめで実践を考慮したサンプルが多め
ベースのコードとグロナビ アニメ・コードスニペット初級編
まずは基本から!ヘッダーをコーディングしています。
困った時はスタンダードなデザインするのが◯。
下記コードでサイトタイトルとナビゲーションといったような、一般的なヘッダーができます。
HTML
<header>
<h1>サイトタイトル</h1>
<nav>
<ul>
<li><a href="#">SERVICE</a></li>
<li><a href="#">BLOG</a></li>
<li><a href="#">ABOUT</a></li>
<li><a href="#">CONTACT</a></li>
</ul>
</nav>
</header>
CSS
body {
font-family: 游ゴシック体, YuGothic, 游ゴシック, "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", メイリオ, sans-serif;
}
header {
max-width: 980px;
margin: 0 auto;
display: flex;
justify-content: space-between;
height: 50px;
align-items: center;
}
nav ul {
display: flex;
height: 50px;
}
nav ul li {
padding: 0 10px;
height: 100%;
}
nav ul li a {
text-decoration: none;
color: #333;
display: block;
height: 100%;
display: flex;
align-items: center;
transition: .3s;
font-weight: bold;
position: relative;
padding: 0 10px;
transition: .3s;//アニメーションすることを想定して追加しておきます}
ホバーアニメーションをつける理由ですが、ここはリンクと知ってもらうためです。
通常は最低ホバーで文字色を変えるぐらい書いておけばいいと思います。
アニメーションをなめらかにするためtransition
を付与します。
今回easingはデフォルトのまま使います。
CSS
//アニメーション
nav ul li a:hover {
color: #ff1787;
}
グロナビ アニメその1・下線を横に広がる
文字色が変わるだけだとなんだか寂しい。
そんな時は下線をつけるのですが、それだけだと芸がないので横に広げます。シンプルで使いやすいです。
CSS
nav ul li a::after {
content: '';
display: block;
height: 1px;
width: 80%;
background: #ff1787;
position: absolute;
bottom: 0;
left: 10%;
transform: scale(0, 1);
transition: .3s;
}
nav ul li a:hover {
color: #ff1787;
}
nav ul li a:hover::after {
transform: scale(1, 1);
}
グロナビ アニメその2・下線が左からにゅっと伸びる
先ほどのアレンジバージョンです。左から右へ伸びるとページ遷移するんだ感が出ます。
CSS
nav ul li a::after {
content: '';
display: block;
height: 1px;
width: 0%;
background: #ff1787;
position: absolute;
bottom: 0;
left: 10%;
transition: .3s;
}
nav ul li a:hover {
color: #ff1787;
}
nav ul li a:hover::after {
width: 80%;
}
グロナビ アニメその3・背景色をガツンと変える
カンタンですが色の変わる面積が広いの でデザインによっては使わないほうがいいかもしれません。
もしくは色を調整してください。
CSS
nav ul li a:hover {
background: #ff1787;
color: #fff;
}
グロナビ アニメ・コードスニペット中級編
見た目を変えたり、少し難易度を上げていきます。
グロナビ アニメその4・色を変える
やってることは単純ですが、各リンクの色を変えるだけでポップになります。
サイトによっては事故が起こるデザインなので要注意。