今回はシンプルなナビゲーションバーデザインまとめ10選【CSSアニメーション】をご紹介いたします。
transformプロパティ(transform:scale×rotate)やfilterプロパティを使っています。ちなみにHTML, CSSだけです。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。
こちらのデザイン・コードはすべて完全オリジナルなのでコピペ大歓迎です。
記事の最後では、実務未経験の方でも「高単価」で仕事をもらえる求人サイトを紹介しているので、ぜひご覧ください。
この記事の信頼性(ゆうけんブログの筆者はこんな人)
- 現役Webデザイナーが執筆
- 最高月収7桁超のフリーランス
- 完全未経験から独学でWeb制作スキルを習得
- Twitterフォロワー数2,000人超(→@twinzvlog_yk)
- Web制作のメンター経験多数
- 認定ランサー(ランサーズ最高ランク)
1. 色が変化するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
/* アニメーション速度を指定 */
transition: color 0.3s ease-out;
}
.nav-item a:hover {
/* hover後に色を変化させる指定 */
color: pink;
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item a:hoverでhover前後に色を変化させる指定
2. 文字が太く変化するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
/* アニメーション速度を指定 */
transition: 0.3s ease-out;
}
.nav-item a:hover {
/* hover後の文字の太さを指定 */
font-weight: bold;
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item a:hoverでhover前後に文字の太さを変化させる指定
3. 下線が現れるナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
/* アニメーション速度を指定 */
transition: 0.1s ease-out;
}
.nav-item a:hover {
/* hover後に下線が現れる指定 */
border-bottom: 2px solid #333333;
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item a:hoverでhover後に下線が現れる指定
4. ボーダーで囲われるナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
/* アニメーション速度を指定 */
transition: 0.1s ease-out;
}
.nav-item a:hover {
/* hover後にメニューを囲うボーダーの指定 */
border: 1px solid #333333;
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item a:hoverでhover後にメニューを囲うボーダーの指定
5. opacityで不透明度変化するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
/* アニメーション速度を指定 */
transition: 0.1s ease-out;
/* 不透明度の指定 */
opacity: .5;
}
.nav-item a:hover {
/* 不透明度の指定 */
opacity: 1
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item a:hoverでhover前後のopacity(不透明度)を指定
6. scaleで拡大するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
}
.nav-item {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の拡大調整 */
transform: scale(1);
}
.nav-item:hover {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の拡大調整 */
transform: scale(1.2);
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item:hoverでhover前後の拡大調整
7. scaleで縮小するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
}
.nav-item {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の縮小調整 */
transform: scale(1);
}
.nav-item:hover {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の縮小調整 */
transform: scale(.7);
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item:hoverでhover前後の縮小調整
8. rotateZで回転するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
}
.nav-item {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の回転角度の調整 */
transform: rotate(0);
}
.nav-item:hover {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の回転角度の調整 */
transform: rotate(360deg);
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item:hoverでhover前後の回転角度を調整
9. rotateXで回転するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
}
.nav-item {
/* アニメーション速度を指定 */
transition: 0.1s;
/* hover前後の回転角度の調整 */
transform: rotateX(0);
}
.nav-item:hover {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の回転角度の調整 */
transform: rotateX(360deg);
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item:hoverでhover前後の回転角度を調整
10. rotateYで回転するナビゲーションバーデザイン
動きは下の画像のような感じになります
コードを見る
<nav class="navbar">
<ul class="nav">
<li class="nav-item"><a href="#">Home</a></li>
<li class="nav-item"><a href="#">About</a></li>
<li class="nav-item"><a href="#">Work</a></li>
<li class="nav-item"><a href="#">Careers</a></li>
<li class="nav-item"><a href="#">Contact</a></li>
</ul>
</nav>
.navbar {
height: 50px;
padding: 0;
}
.navbar ul {
/* flexboxでナビゲーションバーを横並び配置する */
display: flex;
/* 縦幅中央に配置する指定 */
align-items: center;
/* 横幅中央に配置する指定 */
justify-content: center;
width: 100%;
/* リストスタイルを削除 */
list-style: none;
}
.navbar ul li {
/* ナビゲーションメニュー同士の間隔を指定 */
margin-left: 5%;
margin-right: 5%;
}
.nav-item a {
padding: 5px;
color: #000;
font-size: 0.9rem;
font-weight: 400;
text-decoration: none;
}
.nav-item {
/* アニメーション速度を指定 */
transition: 0.1s;
/* hover前後の回転角度の調整 */
transform: rotateY(0);
}
.nav-item:hover {
/* アニメーション速度を指定 */
transition: 0.3s;
/* hover前後の回転角度の調整 */
transform: rotateY(360deg);
}
POINT
- flexboxでナビゲーションバーを横並び配置する
- justify-content: centerで横幅中央に配置する指定
- marginでナビゲーションメニュー同士の間隔を指定
- transitionでアニメーション速度を指定
- .nav-item:hoverでhover前後の回転角度を調整
【学習の次は案件獲得】現職おすすめの求人サイトご紹介
実務は未経験だけど、まず仕事をしてみたい!という方には下で紹介している求人サイトがおすすめ◎
副業・フリーランス案件を多く扱っているサイトなので、わざわざ営業をかけなくても仕事に困りません。
クラウドテック
クラウドテックのポイント
対象
Webデザイナー・エンジニア・グラフィックデザイナー・PM・マーケター・ライター
公式サイト
クラウドテック公式ページ
特徴
- クラウドソーシング企業大手のクラウドワークスが運営する求人サイト
- 実務未経験者OK
- 登録社数14万社
- フリーランスや副業案件がケタ違いに多い
- 報酬額や勤務地・職種など希望が通りやすい
- Web制作・コーディングの高単価案件が多い
- リモートワーク案件数は業界トップクラス
- 最短3日で案件獲得できる
現役Webエンジニアの筆者がイチオシの求人サイト!副業・フリーランス向けWeb制作案件なら確実に業界トップクラス!営業をかけずに案件獲得できる近道と言えます。しかも、完全無料です。
(求人サイトの後ろ盾があることで、損害賠償◯万円などのリスクも軽減できるので初心者には安心)
\ 実務未経験OK・リモート案件数トップクラスの求人サイト /
クラウドテックに無料登録 >>
もっと詳しく知りたい方は
>> クラウドテックの評判は?未経験OK?口コミ・メリット公開をご覧ください。
まとめ
HTMLとCSSを使うと今回紹介したようなことも簡単にできてしまうんです。
『CSSアニメーションやエフェクトだけではなくWebサイトをゼロから作って稼いでいきたい』
『3ヶ月くらいで最低でも月10万円は稼ぎたい』
『営業とかやったことないけどWeb制作だけで稼いでいきたい』
こんな方のためにWeb制作で月80万超稼ぐ筆者が自身の経験を踏まえて【失敗しない】Webデザイナー(Web制作)独学ロードマップを執筆しました。
少額の投資で3ヶ月後には月10〜30万稼げるよう設計してあります。
(学習教材やAdobeなど最低限のコストはかかります)
ロードマップの構成
- Web制作に特化した『確実に身に付く』学習方法
- Web制作会社が喰いつく理想的なポートフォリオの作成手順
- 返信率10%以上!Web制作会社へのメール営業
有料公開も考えましたが「Webデザイナー(Web制作)はまだまだ稼げることを証明したい!」という思いが強く、期間限定で無料公開をすることにしました。
2021年半ばまでは無料公開する予定ではありますが前倒しすることもあり得ますのでご興味ある方はお早めにどうぞ!