【失敗しない】CSSコピペだけのヘッダーデザイン|Navbar4選

今回は絶対失敗しないヘッダーデザインにコピペで使えるナビゲーションメニュー4選をご紹介。それぞれに違ったエフェクトがついています。hoverで動きます。実務で使えます。マテリアルデザインです。
htmlとcssだけしか使っていません。
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。

こちらのデザイン・コードはすべて完全オリジナルなのでコピペ大歓迎です。

 

※突然ですが超オトクな『無料プレゼント』のお知らせです・・

 

今から3日以内に『転職実績No. 1のプログラミングスクール DMM WEBCAMP』へ無料カウンセリング申込&参加された方のみ限定でもれなく【Amazonギフト券1,000円分】をGETできるキャンペーン

 

完全オンラインレッスンで個別メンター付き。1月中なら期間限定で5万円のキャッシュバックも

 

  無料カウンセリング  ▶︎

 

1. ヘッダーで使いやすいシンプルなナビゲーションメニュー

動きは下の画像のような感じになります

コードを見る
<div class="navigation">
  <!-- 階層に分けてナビゲーションの骨組みを作成 -->
  <ul>
    <li class="button">
      <p><a href="#">Home</a></p>
    </li>
    <li class="button">
      <p><a href="#">About</a></p>
    </li>
    <li class="button">
      <p><a href="#">Portfolio</a></p>
    </li>
    <li class="button">
      <p><a href="#">blog</a></p>
    </li>
  </ul>
</div>
.navigation{
  /* flexboxで要素を真ん中に指定 */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1300px;
}
.navigation ul {
  width: 100%;
}
.button{
  display: block;
  padding:10px;
  background:white;
  width:20%;
  float:left;
  /* 上下にボーダーを指定 */
  border-top: 1px solid #d6d6d6;
  border-bottom: 1px solid #d6d6d6;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.2s all;
}
.button p {
  height: 10px;
  font-weight: 300;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button{
  /* ナビゲーションをマウスオーバーした際のアニメーションの動きを指定 */
  filter:blur(3px);
  /* 全てのボタンがぼやける */
  opacity:.8;
  /* 全てのボタンを通常サイズに指定 */
  transform: scale(1);
}
.navigation:hover .button:hover{
  /* アニメーション速度を指定 */
  transition: .6s;
  /* hoverしたボタンを少し拡大するように指定 */
  transform:scale(1.1);
  /* hoverしている要素のみぼやけない指定 */
  filter:blur(0px);
  opacity:1;
  /* ボタンをhoverした際に上下のボーダーの色を濃くする */
  border-top: 1px solid #888888;
  border-bottom: 1px solid #888888;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定
  4. hoverした要素のみにfilter:blur(0)とborder(top bottom)を濃く指定することでカーソルが乗っている要素のみが強調される
  5. 最後にtransform:scale(1.1)で少し拡大させることで浮いているようなナビゲーションメニューのデザインを実現

 

2. ボタンが滑らかに拡大するかわいらしいナビゲーションメニュー

動きは下の画像のような感じになります

コードを見る
<div class="navigation">
  <!-- 階層に分けてナビゲーションの骨組みを作成 -->
  <ul>
    <li class="button">
      <p><a href="#">Home</a></p>
    </li>
    <li class="button">
      <p><a href="#">About</a></p>
    </li>
    <li class="button">
      <p><a href="#">Portfolio</a></p>
    </li>
    <li class="button">
      <p><a href="#">blog</a></p>
    </li>
  </ul>
</div>
.navigation{
  /* flexboxで要素を真ん中に指定 */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1300px;
}
.navigation ul {
  width: 100%;
}
.button{
  display: block;
  padding:10px;
  background:white;
  width:20%;
  float:left;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.2s all;
}
.button p {
  height: 10px;
  font-weight: 300;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button{
  /* ナビゲーションをマウスオーバーした際のアニメーションの動きを指定 */
  opacity:.5;
  /* 全てのボタンが少し小さくなる */
  transform: scale(.98);
}
.navigation:hover .button:hover{
  transition: .5s;
  /* hover時の速度調整 */
  transform:scale(1.5);
  /* hoverしたボタンのみサイズを拡大する指定 */
  opacity:1;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. hoverした要素のみにtransform:scale(1.5)を指定することでカーソルが乗っている要素のみが拡大
  4. transitionを付けてヘッダーで使えるかわいらしいナビゲーションメニューのデザインを実現

 

3. ボタンが縮小しながら立体的に浮き出るナビゲーションメニュー

動きは下の画像のような感じになります

コードを見る
<div class="navigation">
  <!-- 階層に分けてナビゲーションの骨組みを作成 -->
  <ul>
    <li class="button">
      <p><a href="#">Home</a></p>
    </li>
    <li class="button">
      <p><a href="#">About</a></p>
    </li>
    <li class="button">
      <p><a href="#">Portfolio</a></p>
    </li>
    <li class="button">
      <p><a href="#">blog</a></p>
    </li>
  </ul>
</div>
.navigation{
  /* flexboxで要素を真ん中に指定 */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1300px;
}
.navigation ul {
  width: 100%;
}
.button{
  display: block;
  padding:10px;
  background:white;
  width:20%;
  float:left;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) ;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.2s all;
}
.button p {
  height: 10px;
  font-weight: 300;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button{
  /* ナビゲーションをマウスオーバーした際のアニメーションの動きを指定 */
  filter:blur(3px);
  /* hoverしたボタン意外がぼやける */
  opacity:.5;
  transform: scale(1);
  /* 全てのボタンを通常サイズに指定 */
}
.navigation:hover .button:hover{
  transition: .5s;
  /* hoverした際にボタンのサイズを縮小する */
  transform:scale(.8);
  /* hoverしている要素のみぼやけない指定 */
  filter:blur(0px);
  /* hoverするとボタンが立体的に見えるように影を指定 */
  box-shadow: 2px 2px 3px 3px rgba(0,0,0,0.6);
  opacity:1;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定
  4. hoverした要素のみにfilter:blur(0)とtransform:scale(.8)を指定することでカーソルが乗っている要素のみが縮小し強調される
  5. 最後にbox shadowで外側に影を指定し立体的で3Dのようなナビゲーションメニューのデザインを実現

 

4. ボタンが凹みながら縮小する超動くナビゲーションメニュー

動きは下の画像のような感じになります

コードを見る
<div class="navigation">
  <!-- 階層に分けてナビゲーションの骨組みを作成 -->
  <ul>
    <li class="button">
      <p><a href="#">Home</a></p>
    </li>
    <li class="button">
      <p><a href="#">About</a></p>
    </li>
    <li class="button">
      <p><a href="#">Portfolio</a></p>
    </li>
    <li class="button">
      <p><a href="#">blog</a></p>
    </li>
  </ul>
</div>
.navigation{
  /* flexboxで要素を真ん中に指定 */
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1300px;
}
.navigation ul {
  width: 100%;
}
.button{
  display: block;
  padding:10px;
  background:white;
  width:20%;
  float:left;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.2s all;
  box-shadow: 0px 0px 0px 0px rgba(0,0,0,0) inset;
}
.button p {
  height: 10px;
  font-weight: 300;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button{
  /* ナビゲーションをマウスオーバーした際のアニメーションの動きを指定 */
  opacity:.5;
  /* 全てのボタンが少し小さくなる */
  transform: scale(1);
}
.navigation:hover .button:hover{
  transition: .5s;
  /* hover時の速度調整 */
  transform:scale(.8);
  /* hoverしたボタンのみサイズを拡大する指定 */
  opacity:1;
  /* hoverするとボタンが凹むように影を指定 */
  box-shadow: 2px 2px 3px 3px rgba(0,0,0,0.6) inset;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定
  4. hoverした要素のみにtransform:scale(.8)を指定することでカーソルが乗っている要素のみが縮小される
  5. 最後にbox shadowでボタンの内側に影を作り凹んでいるかのようなナビゲーションメニューのデザインを実現

『カテゴリー別に紹介』Udemy講座(プログラミング)をご紹介

Web系の講座をスキル別に見たい方におすすめ

【失敗しない】Udemy『ベストセラー講座』12選|Web系おすすめ

Udemyベストセラー講座を講師ごとに見たい方におすすめ

【最高評価!】Udemy『人気講師』おすすめ講座7選(Web系)

Webエンジニアになりたい方におすすめ

【初心者向け厳選】Udemy『Web開発』おすすめ講座3選

フロントエンジニアになりたい方におすすめ

【現役エンジニア厳選】Udemy『フロントエンド』おすすめ講座10選

 

まとめ

最後まで読んでいただきありがとうございます。

ほんのちょっとでもあなたが初めの一歩を踏み出すきっかけになれたのなら幸いです。