目次
1. 簡単な効果 1
#2. 「シンプル」をやめることの 2 番目の効果、sass は 3D テキスト ミックスインを実装します
ホームページ ウェブフロントエンド CSSチュートリアル 3Dテキスト効果を実現する純粋なCSS3(ソースコード分析)

3Dテキスト効果を実現する純粋なCSS3(ソースコード分析)

May 24, 2021 am 10:02 AM
3d css3

この記事では、3D テキスト効果の実装原理について説明します。コードの再利用性と移植性は考慮されていません。一定の参考価値があります。必要な友人は参照できます。役立つことを願っています。みんな。

3Dテキスト効果を実現する純粋なCSS3(ソースコード分析)

1. 簡単な効果 1


操作を簡単にするためでは、以前の記事「推奨される Pure CSS3 テキスト効果」と同じドキュメント構造を使用していますが、以下の効果はまったく異なるため、再度リストすることはありません。

<div contenteditable="true" class="text effect01">前端开发whqet</div>
ログイン後にコピー

cssでは、前回の記事と同じグローバル設定から始めていきますが、見た目の疲れを避けるため、背景色と文字色を変更しました。

body{  
  background-color: #666;  
}  
@import url(http://fonts.googleapis.com/css?family=Dosis:500,800);  
.text {  
    font-family:"微软雅黑", "Dosis", sans-serif;  
    font-size: 80px;  
    text-align: center;  
    font-weight: bold;  
    line-height:200px;  
    text-transform:uppercase;  
    position: relative;  
}
ログイン後にコピー

次に、単純なエフェクト 1 のコア コード

/*简单单纯的效果一*/
.effect01{
    background-color: #7ABCFF;
    color:#FFD300;
    text-shadow:
        0px 0px 0 #b89800, 
        1px -1px 0 #b39400, 
        2px -2px 0 #ad8f00, 
        3px -3px 0 #a88b00, 
        4px -4px 0 #a38700, 
        5px -5px 0 #9e8300, 
        6px -6px 0 #997f00, 
        7px -7px 0 #947a00, 
        8px -8px 0 #8f7600, 
        9px -9px 0 #8a7200, 
        10px -10px 0 #856e00, 
        11px -11px 0 #806a00, 
        12px -12px 0 #7a6500, 
        13px -13px 12px rgba(0, 0, 0, 0.55), 
        13px -13px 1px rgba(0, 0, 0, 0.5);
}
ログイン後にコピー

から、3 次元効果を実現するために text-shadow を使用する 3 つの要素があることがわかります。

    複数の影を設定して奥行き感を出し、
  • 影の水平方向と垂直方向のオフセットを変更して方向感を出し、
  • 影の色のグラデーションを設定して、ふらふら感を実現します。
この実装方法はシンプルですが、移植性が低く、再利用性が低く、3D キャラクターをさまざまな方向に修正するにはどうすればよいでしょうか。色違いの立体キャラクターを実装するにはどうすればよいですか?一言一句異なる効果を実現するのが面倒な場合はどうすればよいでしょうか?では、アニメーションが必要な場合はどうすればよいでしょうか?

次に、「シンプルな」効果を徐々に改善していくことで、これらの質問に 1 つずつ答えていきます。


#2. 「シンプル」をやめることの 2 番目の効果、sass は 3D テキスト ミックスインを実装します


# # 子供たちの靴は「お兄さん、その変化はどうですか? 前の靴と何ら変わらないようですね?」と言いました。コードを見れば理解できると思いますので、しばらくお待ちください。

sass を使用してテキスト 3D ミックスインを作成しました。このミックスインを使用すると、立体文字の深さ、方向、千鳥を簡単に制御できます。

/*  对“单纯”说不的效果二,  sass实现的华丽转身  */
 
/**
* 利用text-shadow实现3d文字效果
*
* $color     立体字的初始颜色
* $dx        立体字水平偏移位置,dx>0,向右偏,建议取值[-2,2]
* $dy        立体字垂直偏移位置,dy>0,向下偏,建议取值[-2,2],dx和dy配合控制立体字的方向
* $steps     立体字的层叠数量
* $darken    立体字的颜色变暗数值,建议取值[0,1],需要结合层叠数量,避免过多的黑色出现
* @copyright 前端开发whqet,http://blog.csdn.net/whqet 
*/
@mixin text3d($color: #ffd300, $dx: 1, $dy: -1,$steps:10, $darken:.1) {
  color:$color;
  $color:darken($color,30%);
 
  $output: &#39;&#39;;
  $x:0px;
  $y:0px;
  @for $n from 1 to $steps{
    $output: $output + &#39;#{$x} #{$y} 0 #{$color},&#39;;
    $x:$x+$dx;
    $y:$y+$dy;
    $color:darken($color, $darken * ($n+10));
  }
  $output: $output+&#39;#{$x} #{$y} 12px rgba(0,0,0,0.3),#{$x} #{$y} 1px rgba(0,0,0,0.5);&#39;;
  
  text-shadow:unquote($output);
}
 
.effect02{
    @include text3d(#00d3ff,1,-1,15,.05);
}
ログイン後にコピー

これはどのようなものですか?よく見てみましょう。sass に実装されたこの mixin を使用すると、簡単に 3 次元のキャラクターを実現し、アニメーションさせることができます。3 番目の効果をご覧ください。

3. 3 番目のエフェクト「多動性」、アニメーションで影を動かします


2 番目のエフェクト Mixin を使用, 効果3は自然と出てきます。

/*  “多动”效果三, 加上动画 */
.effect03{
  animation:animateShadow 2s linear infinite; 
}
@keyframes animateShadow{  
  0% {@include text3d(#00d3ff,1,1,15,.05); }
  25% {@include text3d(#00d3ff,-1,-1,15,.05); }
  50% {@include text3d(#00d3ff,1,1,15,.05); }
  75% {@include text3d(#00d3ff,-1.5,1.5,15,.05); }
}
ログイン後にコピー

4.「個性」を出す4つ目の効果、letering.jsで単語単位の制御を実現

##letring.js は、以下のコードのように文字列を分割できる強力な jquery プラグインです。

<div contenteditable="true" class="text effect04">前端开发whqet</div>
<!-- 拆分成这样 -->
<div contenteditable="true" class="text effect04">
	<span class="char1">前</span>
	<span class="char2">端</span>
	<span class="char3">开</span>
	<span class="char4">发</span>
	<span class="char5">w</span>
	<span class="char6">h</span>
	<span class="char7">q</span>
	<span class="char8">e</span>
	<span class="char9">t</span>
</div>
ログイン後にコピー

jquery.js と Lettering.js をページにインポートする必要があります。そうすれば、それを使用できるようになります。

<!-- 引入jquery,cdn方式 -->
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- 引入lettering,cdn方式 -->
<script src="//cdnjs.cloudflare.com/ajax/libs/lettering.js/0.6.1/jquery.lettering.min.js"></script>
<!-- 使用lettering -->
<script>
	//JS is only used to keep the HTML markup clean
	$(".effect04").lettering();
</script>
ログイン後にコピー

次に、sass を使用してパーソナライズされた制御を実現します。 adjust-hue は連続的な色相を生成し、@for ループはトラバーサルを実装します。

/*   彰显“个性”的效果四,lettering.js实现逐字控制 */
.effect04{
  letter-spacing:.1em;
}
$base:#FFD300;
@for $i from 1 through 9 {
  .effect04 .char#{$i} { 
    @include text3d(adjust-hue($base, $i *15deg),-1,1,10,.05)
  }
}
ログイン後にコピー

5.「個性」アップグレード効果5、虹キャラアニメーション

/*   “个性”升级的效果五,彩虹字 */
@for $i from 1 through 10 {
  .effect05 .char#{$i} { 
    animation: rainbow 2s linear infinite;
    animation-delay: 0.1s * $i;
  }
}
$base2:#7E00FF;
@keyframes rainbow {
  @for $i from 0 through 10 {
    #{$i* 10%}  {@include text3d(adjust-hue($base2, $i *36deg), 1, 1, 10,.1); }
  }
}
ログイン後にコピー

6.テキスト-shadow IE9- の解決策

もちろん、残念なことに、text-shadow は IE10 まで比較的完全なサポートを受けていませんでした。そのため、IE9- は何をすべきか、特にXPが熱狂的な趣味となっている中国。幸いなことに、IE の組み込みフィルターでも同じ効果を実現できるため、テキストシャドウ ポリフィルがあります。ここでは、sass を使用してテキストシャドウにパッチを当てます。

この場合、ie9 未満のブラウザの場合、text3d mixin は次のように変更する必要があります。

/**
* 利用text-shadow实现3d文字效果
*
* $color     立体字的初始颜色
* $dx        立体字水平偏移位置,dx>0,向右偏,建议取值[-2,2]
* $dy        立体字垂直偏移位置,dy>0,向下偏,建议取值[-2,2],dx和dy配合控制立体字的方向
* $steps     立体字的层叠数量
* $darken    立体字的颜色变暗数值,建议取值[0,1],需要结合层叠数量,避免过多的黑色出现
* @copyright 前端开发whqet,http://blog.csdn.net/whqet 
*/
@mixin text3d($color: #ffd300, $dx: 1, $dy: -1,$steps:10, $darken:.1) {
  color:$color;
  $color:darken($color,30%);
 
  $output: &#39;&#39;;
  $x:0px;
  $y:0px;
  @for $n from 1 to $steps{
    $output: $output + &#39;#{$x} #{$y} 0 #{$color},&#39;;
    $x:$x+$dx;
    $y:$y+$dy;
    $color:darken($color, $darken * ($n+10));
  }
  $output: $output+&#39;#{$x} #{$y} 12px rgba(0,0,0,0.3),#{$x} #{$y} 1px rgba(0,0,0,0.5);&#39;;
  
  //for the mordern browser
  //text-shadow:unquote($output);
  
  //just for ie9-,这里做了修改
  @include jquery-text-shadow(unquote($output));
}
ログイン後にコピー
お楽しみください。

このケースの影響はまだ残っています。コードペン:

オンライン調査: http://codepen.io/whqet/pen/eGuqf

プログラミング関連の知識の詳細については、次を参照してください:

プログラミング ビデオ# ##! !

以上が3Dテキスト効果を実現する純粋なCSS3(ソースコード分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) 純粋な CSS3 で波の効果を実現するにはどうすればよいですか? (コード例) Jun 28, 2022 pm 01:39 PM

純粋な CSS3 で波の効果を実現するにはどうすればよいですか?この記事ではSVGとCSSアニメーションを使って波のエフェクトを作成する方法をご紹介しますので、お役に立てれば幸いです。

なぜ自動運転ではガウス スプラッティングが非常に人気があるのに、NeRF は放棄され始めているのでしょうか? なぜ自動運転ではガウス スプラッティングが非常に人気があるのに、NeRF は放棄され始めているのでしょうか? Jan 17, 2024 pm 02:57 PM

上記と著者の個人的な理解 3 次元ガウシアンプラッティング (3DGS) は、近年、明示的な放射線フィールドとコンピューター グラフィックスの分野で出現した革新的なテクノロジーです。この革新的な方法は、数百万の 3D ガウスを使用することを特徴とし、主に暗黙的な座標ベースのモデルを使用して空間座標をピクセル値にマッピングする神経放射線場 (NeRF) 方法とは大きく異なります。明示的なシーン表現と微分可能なレンダリング アルゴリズムにより、3DGS はリアルタイム レンダリング機能を保証するだけでなく、前例のないレベルの制御とシーン編集も導入します。これにより、3DGS は、次世代の 3D 再構築と表現にとって大きな変革をもたらす可能性のあるものとして位置付けられます。この目的を達成するために、私たちは 3DGS 分野における最新の開発と懸念について初めて体系的な概要を提供します。

Microsoft Teams の 3D Fluent 絵文字について学ぶ Microsoft Teams の 3D Fluent 絵文字について学ぶ Apr 24, 2023 pm 10:28 PM

特に Teams ユーザーの場合は、Microsoft が仕事中心のビデオ会議アプリに 3DFluent 絵文字の新しいバッチを追加したことを覚えておく必要があります。 Microsoft が昨年 Teams と Windows 向けの 3D 絵文字を発表した後、その過程で実際に 1,800 を超える既存の絵文字がプラットフォーム用に更新されました。この大きなアイデアと Teams 用の 3DFluent 絵文字アップデートの開始は、公式ブログ投稿を通じて最初に宣伝されました。 Teams の最新アップデートでアプリに FluentEmojis が追加 Microsoft は、更新された 1,800 個の絵文字を毎日利用できるようになると発表

カメラかライダーを選択しますか?堅牢な 3D オブジェクト検出の実現に関する最近のレビュー カメラかライダーを選択しますか?堅牢な 3D オブジェクト検出の実現に関する最近のレビュー Jan 26, 2024 am 11:18 AM

0.前面に書かれています&& 自動運転システムは、さまざまなセンサー (カメラ、ライダー、レーダーなど) を使用して周囲の環境を認識し、アルゴリズムとモデルを使用することにより、高度な知覚、意思決定、および制御テクノロジーに依存しているという個人的な理解リアルタイムの分析と意思決定に。これにより、車両は道路標識の認識、他の車両の検出と追跡、歩行者の行動の予測などを行うことで、安全な運行と複雑な交通環境への適応が可能となり、現在広く注目を集めており、将来の交通分野における重要な開発分野と考えられています。 。 1つ。しかし、自動運転を難しくしているのは、周囲で何が起こっているかを車に理解させる方法を見つけることです。これには、自動運転システムの 3 次元物体検出アルゴリズムが、周囲環境にある物体 (位置を含む) を正確に認識し、記述することができる必要があります。

CLIP-BEVFormer: BEVFormer 構造を明示的に監視して、ロングテール検出パフォーマンスを向上させます。 CLIP-BEVFormer: BEVFormer 構造を明示的に監視して、ロングテール検出パフォーマンスを向上させます。 Mar 26, 2024 pm 12:41 PM

上記および筆者の個人的な理解: 現在、自動運転システム全体において、認識モジュールが重要な役割を果たしている。道路を走行する自動運転車は、認識モジュールを通じてのみ正確な認識結果を得ることができる。下流の規制および制御モジュール自動運転システムでは、タイムリーかつ正確な判断と行動決定が行われます。現在、自動運転機能を備えた自動車には通常、サラウンドビューカメラセンサー、ライダーセンサー、ミリ波レーダーセンサーなどのさまざまなデータ情報センサーが搭載されており、さまざまなモダリティで情報を収集して正確な認識タスクを実現しています。純粋な視覚に基づく BEV 認識アルゴリズムは、ハードウェア コストが低く導入が容易であるため、業界で好まれており、その出力結果はさまざまな下流タスクに簡単に適用できます。

Windows 11 のペイント 3D: ダウンロード、インストール、および使用ガイド Windows 11 のペイント 3D: ダウンロード、インストール、および使用ガイド Apr 26, 2023 am 11:28 AM

新しい Windows 11 が開発中であるというゴシップが広まり始めたとき、すべての Microsoft ユーザーは、新しいオペレーティング システムがどのようなもので、何をもたらすのかに興味を持ちました。憶測を経て、Windows 11が登場しました。オペレーティング システムには新しい設計と機能の変更が加えられています。いくつかの追加に加えて、機能の非推奨と削除が行われます。 Windows 11 に存在しない機能の 1 つは Paint3D です。描画、落書き、落書きに適したクラシックなペイントは引き続き提供していますが、3D クリエイターに最適な追加機能を提供する Paint3D は廃止されています。追加機能をお探しの場合は、最高の 3D デザイン ソフトウェアとして Autodesk Maya をお勧めします。のように

カード1枚で30秒でバーチャル3D嫁をゲット! Text to 3D は、毛穴の詳細が明確な高精度のデジタル ヒューマンを生成し、Maya、Unity、その他の制作ツールとシームレスに接続します カード1枚で30秒でバーチャル3D嫁をゲット! Text to 3D は、毛穴の詳細が明確な高精度のデジタル ヒューマンを生成し、Maya、Unity、その他の制作ツールとシームレスに接続します May 23, 2023 pm 02:34 PM

ChatGPT は AI 業界に鶏の血を注入し、かつては考えられなかったすべてのことが今日では基本的な慣行になりました。進化を続ける Text-to-3D は、AIGC 分野において Diffusion(画像)、GPT(テキスト)に次ぐホットスポットとされ、前例のない注目を集めています。いいえ、ChatAvatar と呼ばれる製品が控えめなパブリック ベータ版として公開され、すぐに 700,000 回を超えるビューと注目を集め、Spacesoftheweek で特集されました。 △ChatAvatarは、AIが生成した単一視点/多視点の原画から3Dの様式化されたキャラクターを生成するImageto3D技術にも対応しており、現在のベータ版で生成された3Dモデルは広く注目を集めています。

CSSを上手に使って色々な変わった形のボタンを実現(コード付き) CSSを上手に使って色々な変わった形のボタンを実現(コード付き) Jul 19, 2022 am 11:28 AM

この記事では、頻繁に登場する様々な奇妙な形のボタンをCSSを使って簡単に実現する方法を紹介しますので、ぜひ参考にしてください。

See all articles