CSS でテキストカラーグラデーションを実装する 3 つの方法

CSS でテキストカラーグラデーションを実装する 3 つの方法

Web フロントエンド開発のプロセスでは、UI デザイナーはグラデーション テキストを使用したデザインを設計することがよくあります。以前は、テキストを置き換えるには png 画像しか使用できませんでした。今日では、純粋な CSS を使用してグラデーション テキストを実現できます。参考までに3つの実装方法をご紹介します!

基本スタイル:

.gradient-text{text-align: left;text-indent:30px;line-height: 50px;font-size:40px;font-weight: bolder; position: relative; }

最初の方法では、background-cli と text-fill-color を使用します。

.gradient-text-one{  
    背景画像:-webkit-linear-gradient(下部、赤、#fd8403、黄色); 
    -webkit-background-clip:テキスト; 
    -webkit-テキストの塗りつぶし色:透明; 
}

例:

background: -webkit-linear-gradient(…) は、テキスト要素にグラデーションの背景を提供します。

webkit-text-fill-color: transparent テキストを透明色で塗りつぶします。

webkit-background-clip: text 背景をテキストでクリップし、テキストをグラデーション背景色で塗りつぶします。

2 番目の方法では、mask-image を使用します。

.gradient-text-two{
   色:赤;
}
.gradient-text-two[データコンテンツ]::after{
    コンテンツ:attr(データコンテンツ);
    表示: ブロック;
    位置:絶対;
    色:黄色;
    左:0;
    トップ:0;
    zインデックス:2;
    -webkit-mask-image:-webkit-gradient(linear, 0 0, 0 bottom, from(yellow), to(rgba(0, 0, 255, 0)));
}

例:

background-image と同様に、mask-image には画像パスまたはグラデーション カラーを指定できます。

3 番目の方法では、linearGradient と fill を使用します。

.gradient-text-three{
    記入してください:url(#SVGID_1_);
    フォントサイズ:40px;
    フォントの太さ: 太字;
}

<svg viewBoxs="0 0 500 300" クラス="svgBox">
    <定義>
        <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="0" y1="10" x2="0" y2="50">
            <stop offset="0" style="stop-color:yellow"/>
            <stop offset="0.5" style="stop-color:#fd8403"/>
            <stop offset="1" style="stop-color:red"/>
        </線形グラデーション>
    </defs>
    <text text-anchor="middle" class="gradient-text-three" x="110px" y="30%">花の年</text>
</svg>

例:

SVG には、主に 2 種類のグラデーションがあります。

線形グラデーション

放射状グラデーション

SVG のグラデーションは、グラフィック要素の塗りつぶしだけでなく、テキスト要素の塗りつぶしにも使用できます。

DOMの例:

<!DOCTYPE html>
<html>
<ヘッド>
    <メタ文字セット="utf-8">
    <meta name="viewport" content="width=デバイス幅、user-scalable=いいえ、initial-scale=1.0、maximum-scale=1.0、minimum-scale=1.0">
    <title>CSS3 グラデーション フォント</title>
    <link rel="スタイルシート" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
    <script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
    <スタイル タイプ="text/css">
        *{マージン:0;パディング:0;}
        本文、html{幅:100%;高さ:100%;}
        .wrapper{幅:80%;マージン:0 自動;上マージン:30px;}
        .gradient-text{text-align: left;text-indent:30px;line-height: 50px;font-size:40px;font-weight: bolder; position: relative; }
        .gradient-text-one{  
            背景画像:-webkit-linear-gradient(下部、赤、#fd8403、黄色); 
            -webkit-background-clip:テキスト; 
            -webkit-テキストの塗りつぶし色:透明; 
        }
        .gradient-text-two{
            色:赤;
        }
        .gradient-text-two[データコンテンツ]::after{
            コンテンツ:attr(データコンテンツ);
            表示: ブロック;
            位置:絶対;
            色:黄色;
            左:0;
            トップ:0;
            zインデックス:2;
            -webkit-mask-image:-webkit-gradient(linear, 0 0, 0 bottom, from(yellow), to(rgba(0, 0, 255, 0)));
        }
        .gradient-text-three{
            記入してください:url(#SVGID_1_);
            フォントサイズ:40px;
            フォントの太さ: 太字;
        }
    </スタイル>
</head>
<本文>
    <セクションクラス="ラッパー">
        <div class="パネル パネル情報">
            <div class="パネル見出し">
                <h3 class="panel-title">方法 1. background-clip + text-fill-color</h3>
            </div>
            <div class="panel-body">
                <h3 class="gradient-text gradient-text-one">花様年華</h3>
            </div>
        </div>
        <div class="パネル パネル警告">
            <div class="パネル見出し">
                <h3 class="panel-title">方法 2. マスク画像</h3>
            </div>
            <div class="panel-body">
                <h3 class="gradient-text gradient-text-two" data-content="少女たちの年">少女たちの年</h3>
            </div>
        </div>
        <div class="panel パネル-危険">
            
            <div class="パネル見出し">
                <h3 class="panel-title">方法 3. svg linearGradient</h3>
            </div>
 
            <div class="panel-body">
                <svg viewBoxs="0 0 500 300" クラス="svgBox">
                    <定義>
                        <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="0" y1="10" x2="0" y2="50">
                            <stop offset="0" style="stop-color:yellow"/>
                            <stop offset="0.5" style="stop-color:#fd8403"/>
                            <stop offset="1" style="stop-color:red"/>
                        </線形グラデーション>
                    </defs>
                    <text text-anchor="middle" class="gradient-text-three" x="110px" y="30%">花の年</text>
                </svg>
            </div>
 
        </div>
    </セクション>
</本文>
</html>

効果:

要約する

上記は、CSS でテキスト カラー グラデーションを実装する 3 つの方法を紹介しました。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

>>:  MySQLフィールドのデフォルト値を設定する方法

推薦する

Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明

目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...

Web フォントの読み込みを最適化する方法をご存知ですか?

タイトル通りです!一般的に使用される font-family はブラウザの組み込みフォントを読み込み...

CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する例

テーマ今日は、CSS3 を使用して円形スクロール プログレス バー アニメーションを作成する方法を説...

Centos7にGitLabサーバーをインストールして展開する方法

私はここでCentOS 7 64ビットシステムを使用しています。CentOS 64ビットシステムを試...

SpringBootはActiviti7実装コードを統合する

Activiti7 の正式リリース以降、SpringBoot2.x との統合開発を全面的にサポートし...

NginxはGzipアルゴリズムを使用してメッセージを圧縮します

HTTP圧縮とは場合によっては、比較的大きなメッセージ データがクライアントとサーバー間で送信され、...

Linux サーバーで MySQL リモート接続を有効にする方法

序文以前の非MKレコードを再編成するためのMySQLの学習説明する有効になっていない場合、データベー...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

SWFObjectを使用すると、HTMLにFlashを挿入する際のブラウザ互換性の問題を完全に解決できます。

一緒に学びましょう1. 伝統的な方法コードをコピーコードは次のとおりです。 <object c...

クロスドメイン js フロントエンドの 8 つの実装ソリューション

目次1. jsonp クロスドメイン2. document.domain + iframe クロスド...

VMware 15.5 バージョンのインストール Windows_Server_2008_R2 システム チュートリアル図

1. VMware 15.5から新しい仮想マシンを作成する1. VMware を開き、ホームページで...

HTML減量 HTMLタグを合理化してWebページを作成する

HTML4 についてHTML (XHTML ではありません)、MIME タイプは text/html...

Centos7 での NFS サービス構築の紹介

目次1. サーバー2. クライアント3. テストサービス1. サーバー1. YUMソースを使用してN...

Ubuntu 18.04 LTSでIPアドレスを設定するための完全な手順

序文Ubuntu 18.04 LTS で IP アドレスを設定する方法は、これまで使用されていた設定...

Docker Nginxコンテナの制作と展開の実装方法

クイックスタート1. Docker Hubでnginxイメージを見つけるdocker 検索 ngin...