速報

Microsoft 365で接続障害|OutlookやTeams予定表に影響し復旧作業が継続

CATEGORY

【CSS】マウスオーバーで奥行きのあるボタンが横に回転するアニメーション

※本ページのリンクにはプロモーションが含まれています。

【CSS】マウスオーバーで奥行きのあるボタンが横に回転するアニメーション

目次

本記事ではマウスオーバーで奥行きのあるボタンが横にくるっと回転するアニメーションをご紹介しています。

具体的には下記のデモのようなアニメーションになります。「Front」と記載されたボタンのようなリンクにマウスカーソルを載せてみてください。

See the Pen Hover Animation11 | CSS by ryohei (@intotheprogram) on CodePen.

いかがでしょうか。

奥行きのあるボタンが横にくるっと回転して、裏側の要素が表示されたかと思います。このアニメーションはCSSで奥行きを出すことができる「perspective」と、要素を変形させる「transform-origin」と「rotate」で実現しています。

スクリプトなどは使わずにCSSで簡単に実装することができるため、動作がとても軽く、また、普段見かけないマウスオーバーのアニメーションなので、ユニークなアニメーションをお探しの方におすすめです。

では、解説していきます。

スポンサーリンク

ボタンリンクを作成する

まずは元となるボタンリンクを作成していきます。デモをご覧いただいてわかる通り、本アニメーションは「表面」と「裏面」の要素が必要になります。表面は「front」で裏面は「rear」と命名してマークアップします。

HTML

<a href="#">
    <span class="front">Front</span>
    <span class="rear">Rear</span>
</a>

通常時とマウスオーバーした際のスタイルを定義する

続いて、上記で作成した要素にスタイルを定義します。下記の補足内容を参考にスタイルを作成しましょう。

  • 横方向に回転するアニメーションは「rotateY」で実装する
  • 要素に「perspective」で奥行きを持たせる
  • transform-originで変形の原点を決める

下記はデモで使用しているSCSSの内容になります。普段使わないであろうプロパティには簡単にコメントを記載しております。より詳しく知りたい方はMDNをご参照いただければと思います!

SCSS

a {
    position: relative;
    display: block;
    width: 320px;
    height: 60px;
    line-height: 60px;
    margin: 40px auto;
    text-align: center;
    text-decoration: none;
    color: #a8aabc;
    font-weight: bold;
    perspective: 320px; //要素に奥行きを持たせる
    
    .front, .rear {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        display: block;
        color: #ffffff;
        transition: .5s;
        backface-visibility: hidden; //裏側の要素を表示しない
        transform-origin: center center -160px; //変形の原点を指定する
    }
    
    .front {
        background-color: #a8aabc;
        transform: rotateY(0);
    }
    
    .rear {
        background-color: #384878;
        transform: rotateY(-90deg);
    }
    
    //マウスオーバーした際のスタイル
    &:hover {
        .front { transform: rotateY(90deg); }
        .rear { transform: rotateY(0); }
    }
}

スポンサーリンク

最後に

いかがでしたでしょうか。

私は職業柄日々色々なWebサイトに接し、様々なタイプのデザイナーの方と仕事をさせていただいます。毎日新しい発見があり、新しいことを見つける度に感動と歯痒い気持ちになってしまいます。

知らないことの方が多くて当たり前の業界ですが、一つでも多くのことを知っている人が頼られ、信頼され、仕事を任されるのだと私は思います。一日一つでも構いません。新しい知識を身につけ、明日の自分のために頑張っていきましょう!

以上、マウスオーバーで奥行きのあるボタンが横に回転するアニメーションのご紹介でした!

この記事を書いた人

Ryohei

Webエンジニア / アプリ開発者 / 技術ブログ運営者

福岡のWeb制作会社に勤務するWebエンジニアです。10年以上にわたりWeb制作・開発に携わり、ヒアリングや進行管理から、コーディング、CMSの構築、システム開発、サーバーの構築・保守・運用まで、Webサイト制作の工程を幅広く担当しています。Webサイトは、これまでに100以上の構築・保守を手がけてきました。

個人でもWebサイトの制作・改修やWebアプリの開発・運用を行い、AIを活用した開発にも取り組んでいます。近年はWebセキュリティにも注力しています。

2015年から技術メディア「Into the Program」を運営し、実務や開発で得た知識をもとに、プログラミングの実装方法やWebサイトの運用・セキュリティ情報を発信しています。

主な分野
Webサイト構築・保守・運用 / HTML/CSS / JavaScript / PHP / WordPress / サーバー構築・保守・運用 / アプリ開発 / セキュリティ対策
資格・試験合格
情報セキュリティマネジメント試験
基本情報技術者試験
AWS認定ソリューションアーキテクト アソシエイト
PHP8技術者認定ウィザード
メディア運営
2015年〜

記事の作成・更新について

セキュリティ記事は、ベンダーの公式アドバイザリやCVE・JVNなどの一次情報を参照し、出典と情報確認日を記載します。実環境での検証を行った場合は、その環境と確認範囲を明示します。重要な追加情報や誤りを把握した場合は、内容を確認して追記・訂正します。

関連する記事

おすすめの書籍

キーワードから探す

スポンサーリンク