CSS テキスト強調を使用してテキストを強調するための実装コード

CSS テキスト強調を使用してテキストを強調するための実装コード

1. はじめに

これまで、テキストの特定の部分を強調したい場合、通常は太字にしたり明るい色を使用したりしていました。現在は、強調装飾にtext-emphasis属性を使用するという新しいオプションがあります。

text-emphasisファミリーには 4 つの CSS プロパティがあります。

  • テキスト強調
  • テキスト強調色
  • テキスト強調スタイル
  • テキスト強調位置

このうち、 text-emphasisは、2 つの CSS プロパティtext-emphasis-colortext-emphasis-style独立したtext-emphasis-position text-emphasis-positionプロパティは含まれないことに注意してください。

2. 詳細

1. テキスト強調色

text-emphasis-color 、初期値は現在のテキストの色です。

2. テキスト強調スタイル

text-emphasis-style構文には、主に次の 3 つのタイプがあります。

テキスト強調スタイル: なし
テキスト強調スタイル: [ 塗りつぶし | 空白 ] || [ ドット | 円 | 二重円 | 三角形 | ゴマ ]
テキスト強調スタイル: <文字列>

で:

text-emphasis-style:noneはデフォルトの宣言であり、強調装飾がないことを意味します。

text-emphasis-style:<string>任意の 1 文字を強調デコレータとして使用することを意味します。たとえば、ハート文字を使用する場合:

ベイビー、<span class="emphasis">愛してるよ</span>、<span class="emphasis">ハート</span>!
。強調 {
    -webkit-テキスト強調スタイル: '❤';
    テキスト強調スタイル: '❤';
}

効果は以下の図の通りです。対応するテキストの上にハートの文字が表示されているのがわかります(絵文字フォントが適用されているため、絵文字が表示されています)。

ここにいくつかの詳細をお知らせします:

表示される強調デコレータのフォント サイズは、メインのテキスト コンテンツのフォント サイズの半分になります。たとえば、テキストのサイズが16pxの場合、上の強調文字のサイズは8pxになります。したがって、フォント サイズがそれほど大きくない場合は、アスタリスク「*」やポンド記号「#」など、複雑な形状や小さな文字領域を持つ文字は使用しないようにしてください。これらの文字は、通常の表示デバイスでは丸く縮小され、ユーザーには文字が何であるかがわからなくなってしまいます。 行の高さがそれほど高くない場合は、強調デコレータによって現在の行の高さが自動的に増加されます。 強調デコレータと本文の距離は、行の高さなどのプロパティを設定しても調整できません。距離の大きさは主にフォントによって決まります。

複数の文字を指定した場合、最初の文字のみが強調修飾子として使用されます。例えば:

テキスト強調スタイル: 'CSS New World';

は以下と同等です:

テキスト強調スタイル: 'C';

最後に、 text-emphasis-styleに組み込まれている装飾文字効果、 dotcircledouble-circletrianglesesameを見てみましょう。

各デコレータには、 filled と hollow の 2 種類の文字があり、これらはfilledopen 2 つのキーワードによって決まります。

例えば:

/* 実線ドット */
テキスト強調: 塗りつぶされたドット;
/*白抜きドット*/
テキスト強調: 開いたドット;

組み込み文字はデフォルトで実線なので、 text-emphasis:filled dot text-emphasis:dotと同じ効果があります。

text-emphasis-style属性値がfilledまたはopenのみの場合、強調デコレータとしてdotが使用されます。例えば:

/* text-emphasis: filled dot と同等 */
テキスト強調: 塗りつぶし;
/* text-emphasis: オープンドットと同等 */
テキスト強調: オープン;

各装飾シンボルの具体的な効果については、私(張新旭)が便宜上特別に表を作成しました。詳細は以下の表をご覧ください。

各強調デコレータのフォントサイズはフォントによって大きく左右されます。実際のシナリオに応じて適切な強調デコレータを選択できます。

3. テキストの強調位置

text-emphasis-positionプロパティは、強調デコレータの位置を指定するために使用されます。デフォルトの位置はメイン テキストの上です。強調デコレータがメイン テキストの下になるように指定することも、テキストが垂直に配置されている場合に強調デコレータが左側にあるか右側にあるかを指定することもできます。

構文は次のとおりです。

テキスト強調位置: [ 上 | 下 ] && [ 右 | 左 ]

使用方法:

テキスト強調位置: 左上;
テキスト強調位置: 右下;
テキスト強調位置: 左下;

テキスト強調位置: 左上;
テキスト強調位置: 右下;
テキスト強調位置: 左下;

text-emphasis-positionの初期値はover rightです。 right配置は、テキストが垂直に配置されているときに表示されます。たとえば、 writing-mode:vertical-rlが設定されている場合、下の図に示すように、右側に強調デコレータが表示されます。

text-emphasis-positionプロパティは、中国語のシナリオでは今でも非常によく使用されています。これは、中国語では強調を示す文字を下部に設定する傾向があるためです。これは、日本語や韓国語などの東アジアの言語とは異なります。

したがって、中国語のコンテンツを強調するには、強調デコレータを設定することに加えて、強調デコレータの位置を下部に設定する必要があります。次に例を示します。

.中国語強調 {
    -webkit-テキスト強調: ドット;
    テキスト強調: ドット;
    -webkit-text-emphasis-position: 右下;
    テキスト強調位置: 右下;
}

ここで少し詳細を説明します。Chrome ブラウザでは、 text-emphasis-position属性は垂直位置の値のみを設定でき、水平位置の値は設定できません。たとえば、次の構文も Chrome ブラウザで認識されます。

-webkit-テキスト強調位置: 下;

ただし、Chrome ブラウザのこのアプローチは実際には間違っており、仕様の説明に準拠していないことに注意してください。仕様ではtext-emphasis-position属性値に水平位置と垂直位置の両方を含める必要があります。そのため、両方の値を同時に設定することをお勧めします。

-webkit-text-emphasis-position: 右下;

4. テキストの強調

text-emphasisは、2 つの CSS プロパティtext-emphasis-colortext-emphasis-styleの略称です。使用方法は次のとおりです。

テキスト強調: 円 deepskyblue;

構文とセマンティクスの観点から見ると、 text-emphasisプロパティは比較的単純であり、詳細を隠すことはありません。

言及する価値がある唯一のことは、 text-emphasis継承された属性であるということです。つまり、祖先要素が強調効果を設定すると、子要素もそれを適用するということです。これは継承されないtext-decoration text-decorationとはまったく異なります。

もう 1 つの小さな違いは、 text-emphasisプロパティはテキストが占める高さに影響しますが、 text-decorationプロパティは影響しないことです。

3. まとめ

私が経験したプロジェクトをレビューしたところ、JS API や技術文書で強調する必要のあるテキストや、会社の製品の外部ヘルプ ドキュメントなどで、 text-emphasis属性が使用されている箇所が見つかりました。しかし、通常のコンテンツ表示においては、そのような需要はないようです。

つまり、CSS のtext-emphasisプロパティは、テキスト コンテンツを強調するための新しいオプションを提供します。

最後に、 text-emphasis属性のブラウザ互換性を次のように示します。

要約する

CSS text-emphasis を使ってテキストを強調する方法についての記事はこれで終わりです。CSS text-emphasis を使ったテキスト装飾に関する関連コンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  MySQL の group by と having の詳細な説明

>>:  HTML要素によるFlashブロックの詳細な例

推薦する

CSS3 を使用した背景ぼかし効果の 3 つの例

導入から始めず、いきなり本題に入りましょう。通常の背景ぼかし効果は次のとおりです。 プロパティを使用...

Tomcat イメージをインストールして Docker に Web プロジェクトをデプロイする方法を簡単に説明します。

1. Tomcatをインストールする1. Docker HubでTomcatイメージを見つける d...

MySQL では UTF-8 が推奨されないのはなぜですか?

最近、Rails 経由で「utf8」でエンコードされた UTF-8 文字列を MariaDB に保存...

MySQL MHA 操作ステータス監視の概要

目次1. プロジェクトの説明1.1 背景1.2 実装設計1.2.1 従来の方法1.2.2 最適化され...

Linuxグループの基礎知識ポイントまとめ

1. Linuxグループの基本紹介Linux では、すべてのユーザーはグループに所属する必要があり、...

nginx 用の zabbix 5.0 をインストールして展開する方法

目次実験環境インストールと展開データベースをインストールして設定します (ここでは mariadb ...

Linux/Mac に MySQL をインストールするときにパスワードを忘れた場合の解決策

序文この記事では主に、Linux/Mac に MySQL をインストールするときにパスワードを忘れた...

JS ネイティブ 2048 ゲーム ソース コード共有 (インターネットの最新情報)

最近、アルゴリズムについて学んでいて、アルゴリズムで動く小さなゲームに出会いました。そのコードは次の...

HTML におけるベースタグの使用に関する詳細な説明

requireJS には、baseURL というプロパティがあります。baseURL を設定すること...

ウェブサイトデザインの基礎知識:初心者の方はぜひお読みください

今では多くの人がウェブサイト作成に参加していますが、ウェブサイトはどのように作成すればよいのでしょう...

WeChatアプレット実装アンカー位置決め機能の例

序文小規模なプログラムの開発では、リストをスクロールして表示する必要性に遭遇することがよくあります。...

フレックスレイアウトは、上下固定、中間スライドのレイアウトモードを実現します。

この記事では、主に、上下固定と中スライドレイアウトを実現するためのフレックスレイアウトのレイアウト方...

CentOS 6.5 i386 インストール MySQL 5.7.18 詳細チュートリアル

ほとんどの人はMySQLをコンパイルしてシステムディレクトリに置きますが、私のやり方はコンパイルした...

CenterOS7 インストールおよび構成環境 jdk1.8 チュートリアル

1. まずcenterosに付属のJDKをアンインストールします rpm-qa|grepopenjd...

Eclipse と IDEA 用に Tomcat サーバーを構成する方法

tomcat サーバーの構成誰もが Web について学習するときに、自分のツール用に Tomcat ...