ホームページ  >  記事  >  ウェブフロントエンド  >  フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

青灯夜游
青灯夜游転載
2021-11-02 19:21:182124ブラウズ

この記事では、ブラーを使用して視覚的な 3D 効果を実現するテクニックを紹介し、フィルターと変換スタイルの属性を使用して視覚的な 3D 効果を実現する方法を説明します。皆さんのお役に立てれば幸いです。

フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

通常の視覚効果では、通常、自分に近づくほど鮮明に見え、遠ざかるにつれて相対的に鮮明さが低下することは誰もが知っています~

clearblur の 2 つの状態を使用して視差効果を構築できます。次のように:

フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

CSS では、ぼかしフィルター filter:blur()transform-style:preserve -3d を使用できます。 を実行してください。

テキストの 3D 変換の実装

まず、比較的単純なテキストの 3D 変換を実装する必要があります。主に、transform-style:preserve-3dperspective を使用し、テキストを Y 軸を中心に回転させます。

簡単なコードは次のとおりです:

<p>CSS3DEFFECT</p>
body {
    perspective: 160vmin;
}

p {
    font-size: 24vmin;
    transform-style: preserve-3d;
    animation: rotate 10s infinite ease-in-out;
}

@keyframes rotate {
    0% {
        transform: rotateY(-45deg);
    }
    50% {
        transform: rotateY(45deg);
    }
    100% {
        transform: rotateY(-45deg);
    }
}

このような 3D テキスト効果を得ることができます:

フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

##テキストのぼかしを実現

このエフェクトにはすでに予備的な 3D エフェクトが含まれていますが、このままでは何かが足りないように感じられます。次に、ぼかし効果を追加して、近くにあるテキストを鮮明にし、遠くにあるテキストをぼかす必要があります。

しかし、これには各テキストの詳細な処理が必要です。上記の HTML 構造では各テキストを個別に処理できません。構造を単純に変換しましょう:

<p>
    <span>C</span>
    <span>S</span>
    <span>S</span>
    <span>3</span>
    <span>D</span>
    <span>E</span>
    <span>F</span>
    <span>F</span>
    <span>E</span>
    <span>C</span>
    <span>T</span>
</p>

完全なコード おそらく次のようになります:

@import url(&#39;https://fonts.googleapis.com/css2?family=Lobster&display=swap&#39;);

$count: 12;

body, html {
    font-family: &#39;Lobster&#39;, cursive;
    perspective: 160vmin;
    overflow: hidden;
}

p {
    margin: auto;
    font-size: 24vmin;
    transform-style: preserve-3d;
    animation: rotate 10s infinite ease-in-out;
    
    span {
        text-shadow: 
            1px 1px 0 rgba(0, 0, 0, .9),
            2px 2px 0 rgba(0, 0, 0, .7),
            3px 3px 0 rgba(0, 0, 0, .5),
            4px 4px 0 rgba(0, 0, 0, .3),
            5px 5px 0 rgba(0, 0, 0, .1);
        
        &:nth-child(-n+5) { 
            animation-delay: -5s; 
        }
    }
}

@for $i from 1 to 7 {
    span:nth-child(#{$i}), 
    span:nth-last-child(#{$i}) {
        animation: filterBlur-#{$i} 10s infinite ease-in-out;
    }

    @keyframes filterBlur-#{$i} {
        0% {
            filter: blur(0px) contrast(5);
        }
        50% {
            filter: blur(#{7 - $i}px) contrast(1);
        }
        100% {
            filter: blur(0px) contrast(5);
        }
    }
}
@keyframes rotate {
    0% {
        transform: rotateY(-45deg);
    }
    50% {
        transform: rotateY(45deg);
    }
    100% {
        transform: rotateY(-45deg);
    }
}

簡単な分析の下で、ここにいくつかのヒントがあり、必要な効果を注意深く観察してください:

    最初の文字と最後の文字は回転の終わりにあります。左の効果と右端の効果それぞれ私たちに最も近い文字と最も遠い文字になります。それらの効果は実際には同じである必要があるため、最初の文字と最後の文字は均一に処理される必要があり、同様に 2 番目の文字と最後から 2 番目の文字も統一処理されます。ここでは SASS を使用できます。
  1. :nth-child:nth-last-child を使用して CSS コードを効率的に記述するにはanimation-delay
  2. を使用してアニメーションの半分を遅延させます。
  3. text-shadow
  4. を使用してテキストをより立体的にすることもできます
  5. このようにして、最終的に次の効果を得ることができます:

フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します完全なコードについては、ここをクリックしてください-- CSS のインスピレーション -- filter:blur を使用すると、テキストの 3D 効果が強化されます

https://csscoco.com/inspire/#/./filter/use-filter-blur-enhance-text-3d-effect

ぼかしを使用して落ち葉エフェクトを構築する

ぼかしを適切に使用すると、

transform-style:preserve-3d

および ## のサポートなしで落ち葉エフェクトを作成できます。 #perspective

素晴らしい 3D 効果。 たとえば、次の落ち葉エフェクトでは、ぼかしと単純な階層関係を使用して、全体像を非常にリアルに見せています: <pre class="brush:html;toolbar:false;">&lt;h2&gt;Falling Leaves&lt;/h2&gt; &lt;section&gt; &lt;div class=&quot;leaf&quot;&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;div&gt;&lt;img src=&quot;落叶图片.png&quot; / alt=&quot;フィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します&quot; &gt;&lt;/div&gt; &lt;/div&gt; &lt;div class=&quot;leaf leaf2&quot;&gt; // 重复第二组 &lt;/div&gt; &lt;div class=&quot;leaf leaf3&quot;&gt; // 重复第三组 &lt;/div&gt; &lt;/section&gt;</pre>rrree

主にスルー

Clearフィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成します

Blurry

2 つの状態間のコントラストと速度の違いを使用して、視差効果を作成します。 CodePen デモ -- 落ち葉

https://codepen.io/Chokcoco/pen/vYyGVZZ

最後に

さて、この記事はここで終わります。お役に立てば幸いです:)

プログラミング関連の知識については、

プログラミング ビデオ

をご覧ください。 !

以上がフィルターと変換スタイルのプロパティを賢く使用して、視覚的な 3D 効果を作成しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。