【CSSデザインまとめ】transform:rotate(X,Y,Z,3d)で回転するナビゲーションバー4選

今回は【CSSデザインまとめ】transform:rotateX,rotateY,rotateZ,rotate3dでナビゲーションバーエフェクト3選をご紹介。シンプルかつわかりやすいデザイン。それぞれ違うエフェクト。実務で使える。コピペOK
コードの説明や実際の動きも詳しくまとめてみたので自由にお使いください。

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

 

1. transform:rotateXとscaleで縦回転するナビゲーションバーデザイン

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

コードを見る
<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;
}
.button p {
  height: 10px;
  font-weight: 300;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.5s all;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
  /* 回転の角度・サイズ調整 */
  transform: rotateX(360deg) scale(1.5);
  transition: .5s;
  /* hover時の速度調整 */
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. .navigation:hover .button:hover > pに transform: rotateX(360deg) scale(1.5)を指定することによりhoverしたボタンのみ縦回転+サイズが拡大する
  4. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定しシンプルなナビゲーションバーデザインを実現

 

2. transform:rotateYとscaleで横回転するナビゲーションバーデザイン

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

コードを見る
<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;
}
.button p {
  height: 10px;
  font-weight: 300;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.5s all;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button:hover > p {
  font-weight: bold;
  /* 回転の角度・サイズ調整 */
  transform: rotateY(360deg) scale(1.5);
  transition: .5s;
  /* hover時の速度調整 */
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. .navigation:hover .button:hover > pに transform: rotateY(360deg) scale(1.5)を指定することによりhoverしたボタンのみ横回転+サイズが拡大する
  4. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定しシンプルなナビゲーションバーデザインを実現

 

3. transform:rotateZとscaleでくるっと回転するナビゲーションバーデザイン

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

コードを見る
<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;
}
.button p {
  height: 10px;
  font-weight: 300;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.5s all;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button:hover > p  {
  font-weight: bold;
  /* 回転の角度・サイズ調整 */
  transform: rotateZ(360deg) scale(1.5);
  transition: .5s;
  /* hover時の速度調整 */
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. .navigation:hover .button:hover > pに transform: rotateZ(360deg) scale(1.5)を指定することによりhoverしたボタンのみくるっと回転+サイズが拡大する
  4. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定しシンプルなナビゲーションバーデザインを実現

 

4. transform:rotate3dとscaleで立体感のあるナビゲーションバーデザイン

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

コードを見る
<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;
}
.button p {
  height: 10px;
  font-weight: 300;
  /* カーソルを離した際のアニメーションの速度調整 */
  transition:.5s all;
}
.button a {
  color:#333333;
  /* リンク指定した要素のスタイルを削除 */
  text-decoration:none;
}
.navigation:hover .button:hover > p  {
  font-weight: bold;
  /* 回転の角度(rotate3d(x,y,z,角度))・サイズ調整 */
  transform: rotate3d(.2,0,.7,-30deg) scale(1.5);
  transition: .5s;
  /* hover時の速度調整 */
}
ここがポイント!
  1. ul, liでナビゲーションの骨組みを作成
  2. flexboxでど真ん中に配置
  3. .navigation:hover .button:hover > pに transform:rotate3d(.2,0,.7,-30deg) scale(1.5)を指定することによりhoverしたボタンのみ立体感+サイズが拡大する
  4. transitionで要素をマウスオーバー(hover)した際のアニメーションを指定しシンプルなナビゲーションバーデザインを実現

参考

そもそもWebデザインの基礎がわからない。。
そんなあなたにはこれ!

ふたご


でもなあ、独学だと心配だしプログラミングスクールで学びたい!。かといってお金はかけたくないし。。
そんなあなたにはこれ!

ふたご

完全無料で一人前のエンジニアになれるプログラミングスクールあります
  1. プログラミング学習&サポートが無料!
  2. 誰もが知っている超優良企業への就職サポート付き!
  3. 学習言語:Java、PHP、HTML、CSSなど

 

   話だけ聞いてみる