ホームページ  >  記事  >  ウェブフロントエンド  >  純粋な CSS を使用して金属光沢のある立体ボタンのアニメーション効果を実現する方法 (ソースコード添付)

純粋な CSS を使用して金属光沢のある立体ボタンのアニメーション効果を実現する方法 (ソースコード添付)

不言
不言オリジナル
2018-08-22 10:43:113867ブラウズ

この記事の内容は、純粋な CSS を使用して金属光沢のある 3 次元ボタンのアニメーション効果を実現する方法に関するものです (ソースコードが添付されています)。必要な友人が参考になれば幸いです。役に立ちますように。

エフェクトプレビュー

純粋な CSS を使用して金属光沢のある立体ボタンのアニメーション効果を実現する方法 (ソースコード添付)

ソースコードダウンロード

https://github.com/comehop​​e/front-end-daily-challenges/tree/master/004-metallic-glossy-3d-button-Effects

コード解釈

DOM 内のコンテナを定義します:

<div class="box">BUTTON</div>

コンテナの中央表示:

html, body {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: skyblue;
}

ボタンのサイズの調整を容易にするために、変数が使用されます:

.box {
    background: linear-gradient(to right, gold, darkorange);
    color: white;
    --width: 250px;
    --height: calc(var(--width) / 3);
    width: var(--width);
    height: var(--height);
    text-align: center;
    line-height: var(--height);
    font-size: calc(var(--height) / 2.5);
    font-family: sans-serif;
    letter-spacing: 0.2em;
    border: 1px solid darkgoldenrod;
    border-radius: 2em;
}

を設定します。ボタンの 3D スタイル:

.box {
    transform: perspective(500px) rotateY(-15deg);
    text-shadow: 6px 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: 2px 0 0 5px rgba(0, 0, 0, 0.2);
}

ボタンを定義します。 マウスオーバー アニメーション効果:

.box:hover {
    transform: perspective(500px) rotateY(15deg);
    text-shadow: -6px 3px 2px rgba(0, 0, 0, 0.2);
    box-shadow: -2px 0 0 5px rgba(0, 0, 0, 0.2);
}

.box {
    transition: 0.5s;
}

疑似要素を使用して光沢を追加します:

.box {
    position: relative;
}

.box::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, transparent, white, transparent);
    left: 0;
}

光沢アニメーション効果を定義します:

.box::before {
    left: -100%;
    transition: 0.5s;
}

.box:hover::before {
    left: 100%;
}

最後に、コンテナの外側のコンテンツを非表示にします:

.box {
    overflow: hidden;
}

これで完了です。

関連する推奨事項:

純粋な CSS を使用してテキスト切断のアニメーション効果を実現する方法 (ソース コード付き)

CSS を使用してグラデーション アニメーション境界線の効果を実現する方法 (コード付き)

方法CSSとカラーミキシングモードを使用してローダーアニメーション効果を実現します(コード付き)

以上が純粋な CSS を使用して金属光沢のある立体ボタンのアニメーション効果を実現する方法 (ソースコード添付)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。