hover_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:44:37
オリジナル
1130 人が閲覧しました

ホバーエフェクト

たくさんの例を紹介しているウェブサイト http://tympanus.net/Development/CreativeLinkEffects/

それから、上記の例をすべて書き留めることを学びました

実際、それらはすべて比較的です面倒かもしれない 2 つの 3D 回転を除いて簡単です

さて、後で忘れて見返せるように、これらの例を記録しておいてください

サンプル集

测试咯 *{パディング:0;マージン:0; font: 18px tahoma,arial,'Hiragino Sans GB',5b8b4f53,sans-serif;} .wrap{width: 1000px;マージン: 50px auto;} ul{リストスタイル: none;オーバーフロー: 非表示;} ul li{float: left;幅: 200ピクセル;テキスト整列: 中央;パディング:10px; } a{色: #fff; text-decoration:none;} .mt50{ margin-top: 50px;} #demo1 {background: #435a6b;パディング: 50px; #demo1 a::before{内容: "[";不透明度: 0; -webkit-transform:translateX(10px);変換:translateX(10px);表示: インラインブロック; -webkit-transition: -webkit-transform 0.3 秒、不透明度 0.2 秒; -moz-transition: -moz-transform 0.3 秒、不透明度 0.2 秒;トランジション: トランスフォーム 0.3 秒、不透明度 0.2 秒。 #demo1 a::after{コンテンツ: "]";不透明度: 0; -webkit-transform:translateX(-10px);変換:translateX(-10px);表示: インラインブロック; -webkit-transition: -webkit-transform 0.3 秒、不透明度 0.2 秒; -moz-transition: -moz-transform 0.3 秒、不透明度 0.2 秒;トランジション: トランスフォーム 0.3 秒、不透明度 0.2 秒。 #demo1 a:hover::before{ 不透明度: 1; -webkit-transform:translateX(-5px);変換:translateX(-5px);-moz-transition:translateX(-5px); #demo1 a:hover::after{ 不透明度: 1; -webkit-transform:translateX(5px);変換:translateX(5px);-moz-transition:translateX(5px); #demo2 {背景: #0e83cd;パディング: 50px;フォントサイズ:18px;} #demo2 a {-webkit-perspective: 1000px;-moz-perspective: 1000px;perspective: 1000px;line-height: 44px;表示: インラインブロック;} #demo2 スパン{ 位置: 相対;表示: インラインブロック;パディング: 0 10px;行の高さ:44px;背景: #2195de; -webkit-transition: -webkit-transform 0.3 秒; -moz-transition: -moz-transform 0.3 秒;トランジション: トランスフォーム 0.3 秒。 -webkit-transform-style: 3d を保存; -moz-transform-style: 保存 3d;変換スタイル: 3d を保存; -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0;変換元: 0 0; #demo2span:hover{ -webkit-transform: 回転X(90度) 変換Y(-12ピクセル); -moz-transform: 回転X(90度) 平行移動Y(-12ピクセル);変換: 回転X(90度) 平行移動Y(-12px); #demo2 スパン::前{ 位置: 絶対;上: 100%;左: 0;幅: 100%;高さ: 100%;背景: #0965a0;コンテンツ: attr(data-hover);行の高さ: 44px; -webkit-transition: バックグラウンド 0.3 秒; -moz-transition: バックグラウンド 0.3 秒;トランジション: バックグラウンド 0.3 秒。 -webkit-transform: 回転X(-90度); -moz-transform: 回転X(-90度);変換: 回転X(-90度); -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0;変換元: 0 0; #demo2 スパン:ホバー::前{背景: #2195de; #demo3 {背景: #f19f0f;パディング: 50px;} #demo3 a{ 表示: インラインブロック;位置: 相対的;フォントサイズ:20px; #demo3 a::after{ 位置: 絶対;上: 100%;左: 0;幅: 100%;高さ: 1px;背景:#F7F7F7;不透明度: 0;コンテンツ: ''; -webkit-transition: 不透明度 0.3 秒、-webkit-transform 0.3 秒; -moz-transition: 不透明度 0.3 秒、-moz-transform 0.3 秒;トランジション: 不透明度 0.3 秒、変換 0.3 秒。 -webkit-transform:translateY(10px); -moz-transform: 変換Y(10px);変換:translateY(10px); #demo3 a:hover::after{ 高さ: 4px;不透明度:0.4; -webkit-transform:translateY(2px); -moz-transform:translateY(2px);変換:translateY(2px); #demo4 {背景:#cd4436;パディング: 50px;} #demo4 a{ オーバーフロー: 非表示;表示: インラインブロック;位置: 相対的; #demo4 スパン{ 位置: 相対;表示: インラインブロック; -webkit-transition: -webkit-transform 0.3 秒; -moz-transition:-moz-transform 0.3 秒;トランジション:トランスフォーム 0.3 秒; #demo4 スパン::後{ 位置: 絶対;トップ: 100%;左: 0;フォントの太さ:太字;コンテンツ: attr(data-hover); #demo4 スパン:ホバー{ -webkit-transform:translateY(-100%); -moz-transform: 翻訳Y(-100%);変換: 変換Y(-100%); #demo5{背景:#ecf0f1;パディング: 50px;} #demo5 a{color: #566473;表示: インラインブロック;フォントの太さ: 太字;位置: 相対的;パディング:10px 5px;} #demo5 a::after{ 高さ: 4px;左: 0;幅: 100%;位置: 絶対;上:100%;背景: #566473;コンテンツ: ""; -webkit-transform: スケール(0.90); -moz-transform: スケール(0.90);変換: スケール(0.90); -webkit-transition: -webkit-transform 0.3 秒; -moz-transition:-moz-transform 0.3 秒;トランジション:トランスフォーム 0.3 秒; #demo5 a::before{ 高さ: 4px;左: 0;幅: 100%;位置: 絶対;上:100%;背景: #566473;コンテンツ: "";不透明度:0; -webkit-transform: スケール(0.90); -moz-transform: スケール(0.90);変換: スケール(0.90); -webkit-transition:opacity 0.3 秒、トップ 0.3 秒、-webkit-transform 0.3 秒; -moz-transition:不透明度 0.3 秒、トップ 0.3 秒、-moz-transform 0.3 秒;トランジション:不透明度 0.3 秒、上部 0.3 秒、変換 0.3 秒; #demo5 a:hover::after{ -webkit-transform:scale(1); -moz-transform: スケール(1);変換: スケール(1); #demo5 a:hover::before{ トップ:0%;不透明度:1; -webkit-transform: スケール(1); -moz-transform: スケール(1);変換: スケール(1); } #demo6{background:#16a085; padding: 50px; } #demo6 a{ overflow: hidden; display: inline-block; } #demo6 a span{ position: relative; display: inline-block; background: #0f7c67; color: #fff; padding: 10px 20px; -webkit-transition: -webkit-transform 0.3s; -moz-transition:-moz-transform 0.3s; transition:transform 0.3s; -webkit-transform: translateX(0); -moz-transform: translateX(0); transform: translateX(0); box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; } #demo6 a span::before{ padding: 10px 20px; position: absolute; width: 100%; left: -100%; top:0; background:#fff; color:#0f7c67; content:attr(data-hover); box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; } #demo6 a span:hover{ -webkit-transform: translateX(100%); -moz-transform: translateX(100%); transform: translateX(100%); } #demo7{ background:#0e83cd;padding: 50px; } #demo7 li{text-align: left;} #demo7 a{ overflow: hidden; display: inline-block; position: relative; color: #0972b4 } #demo7 a::before{ position: absolute; top: 0; left: 0; overflow: hidden; width: 0; height: 100%; color:#fff; content: attr(data-hover); -webkit-transition:width 0.4s -moz-transition:width 0.4s; transition:width 0.4s; } #demo7 a:hover::before{ width : 100%; } #demo8{ background:#2ac56c;padding: 50px; } #demo8 a{ position: relative; color: #CCCCCC; } #demo8 a::before{ position:absolute; left: 0; top:0; color: #fff; content: attr(data-hover); -webkit-transition: -webkit-transform 0.3s, opacity 0.3s; -moz-transition: -moz-transform 0.3s, opacity 0.3s; transition: transform 0.3s, opacity 0.3s; } #demo8 a:hover::before{ -webkit-transform: scale(0.7); -moz-transform: scale(0.7); transform: scale(0.7); opacity: 0; } #demo9{ background:#0e83cd;padding: 50px; } #demo9 a {color:#10649b; position: relative;} #demo9 a::before{ overflow: hidden; position: absolute; height: 100%; top:0; left:0; content: attr(data-hover); color: #fff; -webkit-transition:height 0.3s,opacity 0.3s; -moz-transition: height 0.3s,opacity 0.3s; transition:height 0.3s,opacity 0.3s; } #demo9 a::after{ width: 100%; height: 2px; background: #fff; position: absolute; bottom: -15px; left: 0; opacity: 0; content: ''; -webkit-transition: bottom 0.3s, opacity 0.3s; -moz-transition: bottom 0.3s, opacity 0.3s; transition: bottom 0.3s, opacity 0.3s; } #demo9 a:hover::before{ height: 0%; opacity:0; } #demo9 a:hover::after{ bottom: -8px; opacity:1; }

 




いくつかの例の理解

疑似クラス、疑似要素

を区別する必要があります疑似クラス、疑似要素について学びましょう

疑似クラス

このリンクに移動してください http://wenku.baidu.com/link?url=cOVkL1-IutGmPcziO7OS2WLGOMwAW5erUFF1SHfOVSd1t6HC22YsuOVkhgX3uFh1IBCx42p17mXhGoDk_YAv0o Sy-Sf_Ty4VWXX Y3EzS0Ci

一般的に使用される疑似クラスは次のようなものです。 hover

擬似要素

擬似要素は実際の要素であり、この要素にスタイルを追加できます

擬似クラスを区別するために、擬似要素は一般に次のように記述されます a::before

いくつかの例を理解します

デモ1

Ant Ant

Snake Viper Viper

  • Lumberjack Woodcutter
  • Blue Fatty Blue Fatty
  • 1. before
  • の後のテキストの前後に疑似要素を追加します
  • 2. 疑似要素を非表示にして、コンテンツを埋めます。 "[","]"

    3. 前を右に水平に 10px 移動し、後を右に水平に 10px 移動します

    4. マウスが上に移動すると (a:hover)、疑似要素を表示し、前後を適切な位置に移動 (a: hover::before)

    demo2


    Ant Ant Ant

    Viper Viper Viper

    Woodcutter Woodcutter

  • Blue Fatty Blue Fatty
  • 1まず設定します。 over: hidden の要素は、上にスクロールすると周囲の要素がテキストを覆うことが明らかなためです
  • 2 トップダウン構造なので、 after はテキストの下にあるため、span は相対的に配置されます。 afert は位置を決定します。top:100%、span のテキストの下に after のテキストを作成できます
  • 3. テキストの塗りつぶし方法は、span の data-hover 属性を使用して塗りつぶします。content:attr(data) -hover)
  • 4。 Blue Fatty Blue Fatty

    1 . 2 本の横棒はテキストの上下にある必要があるため、a 要素は相対的に配置する必要があり、その位置は擬似要素によって決定されます

    2。 top:100% を下に設定し、さらに小さくするためにスケーリングします。transform:scale(0.90 )、上の疑似要素も下に配置され、縮小されてから非表示になります

    3。擬似要素を拡大し、上の擬似要素を上(top:0)に移動して拡大し、透明度を1にします



    demo3

    Ant Ant Ant

  • Viper Viper Viper
  • Logger Timber Machine
  • Blue Fatty Blue Fatty
  • 1. まず、コンテナ関数

    に a 要素を over:hidden に設定します。これは、擬似要素がテキストの前にあるためです。絶対配置(左: -100%)が使いやすくなります

    3. マウスを置くと(span:hover)、スパン全体が右に100%移動するだけです



    Ant Ant

    Viper Snake Viper

  • Lumberjack Timber Machine
  • Blue Fatty Blue Fatty
  • 1.a は相対的に配置する必要があり、擬似要素は絶対的に配置する必要があります。擬似要素のサイズは次のとおりです。 a 要素のサイズと同じ
  • 2. テキストはそのままにして、疑似要素の幅を 0 に設定します 3. a にマウスを置くと、疑似要素の幅を変更します。 to 100%

    Ant Ant


    Viper Viper Viper

    Lumberjack Timber Machine

  • Blue Fatty Blue Fatty
  • 1.a は相対的に配置され、擬似要素は絶対的に配置される必要があります。擬似要素はテキストを覆うように絶対配置する必要があり、擬似要素のサイズは a 要素のサイズと同じになります
  • 2. 擬似要素を小さくして設定します。透明度を 0 にします
  • 上記の例は比較的単純です。理解してください。疑似クラスと疑似要素には CSS の基本的な知識のみが必要です。次の例はもう少し複雑です。 Viper Viper

    Timber machine Timber machine

    Blue Fat Man Blue Fat Man



    1. 要素をコンテナとして使用するため、遠近感を設定する必要があります (この CSS は非常に重要で、3D 効果が大幅に向上します)。 、視点を設定します

  • 2. スパンをブロックに設定できます
  • 3. 疑似要素をブロック形状に設定し、90 度回転します。目の前に正方形がある紙を思い浮かべてください
  • 4下から上に回すので、紙をスパンの下に置く必要があるので、上: 100%
  • 5 . マウスを上に置いたときに、スパン要素全体を X 軸に沿って 90 度回転するだけです。
  • よく考えたら、両面を正しい位置に置いて、容器を回転させるだけだと思います

    やってみましょう 4 麺を回転させ、4つの麺を置き、容器を回転させます。

  • 1
  • 2
  • 3
  • 4

    関連ラベル:
    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート