CSSだけで矢印付きのボタンをhoverでぬるっと動かす方法

  • URLをコピーしました!

こんにちは、福田です。

このまえ仕事でhoverアクションで矢印が動くボタンを作ったので、CSSを共有いたします(^^)/
こんな感じで動きます。

<!DOCTYPE html>
<html lang="ja">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Nextボタンサンプル</title>
    <style>
        .container {
            width: 200px;
            margin: 0 auto;
            padding: 100px;
            background-color: white;
        }

        a {
            text-decoration: none;
        }

        .yazirusi {
            width: 50px;
            margin: 0px 10px;
            right: -40px;
            top: 25px;
            position: absolute;
        }

        .yazirusi .line01 {
            height: 0.3px;
            background-color: green;
        }

        .yazirusi .line02 {
            position: absolute;
            top: 0;
            right: 0;
            transform-origin: right bottom;
            width: 6px;
            height: 0.3px;
            background-color: green;
            transform: rotate(45deg);
        }

        .next-btn {
            color: green;
            border: 1px solid green;
            display: flex;
            flex: 0 0 auto;
            justify-content: center;
            padding: 14px;
            position: relative;
        }

        .next-btn .next-btn-txt {
            color: green;
        }

        .next-btn:hover {
            background: green;
            transition: .5s;
        }
        .next-btn:hover .next-btn-txt {
            transform: translateX(-60px);
            color: white;
            transition: .5s;
        }

        .next-btn:hover .yazirusi {
            transform: translateX(-60px);
            transition: .5s;
        }

        .next-btn:hover .yazirusi .line01 {
            background-color: white;
        }

        .next-btn:hover .yazirusi .line02 {
            background-color: white;
        }
    </style>
</head>

<body>
    <div class="container">
        <a href="view.html">
            <div class="next-btn">
                <div class="next-btn-txt">Next</div>
                <div class="yazirusi">
                    <div class="line01"></div>
                    <div class="line02"></div>
                </div>
            </div>
        </a>
    </div>
</body>

</html>

`transition` を使って、hover時の動きをゆっくり表現するのは、いろいろ応用できそうですね!

ツチノコテクノロジーに開発・保守を発注しませんか?

Laravel・Flutterの開発・保守をツチノコテクノロジーに発注しませんか?

まずはZOOMで打ち合わせ

お申し込みはこちら

ツチノコテクノロジーでは一緒に働く仲間を募集しています!

完全リモートで働きたい方へ!

詳しくは以下をご覧ください。

ツチノコテクノロジー採用サイト

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

yfukudaのアバター yfukuda 取締役・システムエンジニア

ツチノコテックアカデミアの記事は、社内で誰かが質問してくれたことに回答したときに、ついでに記載しています!(^^)/
みんなの悩みを共有すれば、きっと誰かの役に立つと信じて更新しています!

目次