CSS リスト モデルでのマーカー タグの使用

CSS リスト モデルでのマーカー タグの使用

この記事では主に、 list-itemの下にある::master疑似要素、 list-style-imageおよびlist-style-typeスタイル属性を紹介し、実際にどのように使用するかを紹介します。 list-itemには、ここでは紹介されていない、あまり一般的に使用されない他のスタイル属性もあります。興味があれば、CSS標準ドキュメントに移動できます。

::markerとは

::marker 、リスト項目を表すためにlist-itemに記入するコンテンツを定義できる疑似要素です。その機能を明確に示す例を示します。

<スタイル>
li::marker { コンテンツ: "(" counter(リスト項目) ")"; }
li { 表示: リスト項目; }
</スタイル>

<ul>
  <li>zhaodao88.com ビジネスチャンスを探す</li>
  <li>zhaodao88.com つながりを見つける</li>
  <li>zhaodao88.com 購入品の検索</li>
</ul>

効果画像:

ここで、 marker要素は各リスト項目の前のマーカーを定義し、 content疑似要素のコンテンツはリスト項目の前に入力されるコンテンツです。

マーカーコンテンツを入力するには::markerを使用します

通常の要素でmarkerを使用する場合は、 display: list-itemとして定義する必要があることに注意してください。 list-items作成時にmarkercounter自動的に生成します。

マーカー スタイルはlist-style-typelist-style-image属性を使用して記述することも、 ::marker疑似要素を使用して直接記述することもできます。以下に例を示します。

マーカーを制御するには、 ::marker疑似要素を使用します。疑似要素のcontent 、マーカーの内容です。

<スタイル>
  p { 左余白: 12 em; }
  p.note {
    表示: リスト項目;
    カウンター増加: ノートカウンター;
  }
  p.note::marker {
    内容: "メモ " counter(note-counter) ":";
    色: 青;
    フォントの太さ: 太字;
  }
</スタイル>
<p>zhaodao88.com ビジネスチャンスを見つける</p>
<p class="note">zhaodao88.com 購入品の検索</p>
<p>zhaodao88.com つながりを見つける</p>

効果は次のようになります:

もちろん、上記の効果と同様に、マーカーのフォントスタイル、色、その他の属性を設定することもできますli::marker { color: blue; font-weight:bold; }

現時点では、 marker疑似要素で使用できるのは以下の属性のみであることに注意してください。

  • すべてのフォントスタイル: フォント関連
  • 空白プロパティ
  • 色属性
  • text-combine-upright、unicode-bidi、方向プロパティ
  • コンテンツ属性
  • すべてのアニメーションとトランジションのプロパティ

マークアップでwhite-space: preを使用すると、効果が得られない可能性があることを示唆する問題があります。text text-space-collapse: preserve-spacestext-space-trim: discard-afterを併用して、目的の効果を実現してみてください。ご興味がある場合は、問題 4448問題 4891に移動してください。

タグコンテンツを埋めるためにlist-style-imageを使用する

マーカー画像を指定します。リスト項目の内容が正常の場合、リスト項目のマーカーが指定した画像で塗りつぶされます。

list-style-imageの通常の値は<image> | noneです。定義されていない場合はnoneになります。これはリスト項目list-itemsに適用されます。ここで、 <image>はマーカー画像のurlを指定するために使用されます。参考リンク

以下は、指定されたリンクのellipse.pngイメージを<li>タグ ブロックに埋め込む使用例です。

li { リストスタイルの画像: url("http://www.example.com/ellipse.png") }

タグコンテンツを入力するには、リストスタイルのテキストタイプを使用します。

マーカー文字列を指定します。リスト項目の内容が正常な場合は、リスト項目マーカーを指定された文字列で埋めます。

list-style-typeの通常の値は<counter-style> | <string> | noneです。定義されていない場合はdisc(圓形標記符)となり、リスト項目list-itemsに適用されます。参考リンク

<counter-style>は CSS で定義されたカウンター スタイルであり、開発者はcounterのスタイルをカスタマイズできます。例えば:

@counter-style サムネイル {
 システム:循環的;
 シンボル: "\1F44D";
 接尾辞: " ";
}

ul {
  リスト スタイル タイプ: サムネイル;
}

特定の<counter-style>定義ルールのリファレンス

以下はlist-style-typeの使用例です (要素がリスト要素でない場合は、要素の display を list-item に設定する必要があります)

ul { list-style-type: "★"; } // "★" をマーカーとして使用します p.note { // 対象要素がリスト要素でない場合は、要素の表示を list-item に設定する必要があります
  表示: リスト項目;
  list-style-type: "注記: ";
  リストスタイルの位置: 内側;
}

ol { list-style-type: upper-roman; } // 大文字のローマ数字として定義されています ul { list-style-type: symbols(cyclic '○' '●'); } // マーカーは '○' と '●' の間で切り替わります ul { list-style-type: none; } // マーカーは表示されません

知らせ

::marker疑似要素タグは、 chromeを含むすべてのブラウザでサポートされているわけではありません。Chrome では、 experimental Web Platformを有効にすることでバージョン 80 以降でのみサポートされます。効果をテストしたい場合は、 chrome://flagsにアクセスして、 experimental Web Platformを有効にしてください。実際のプロジェクトではこのルールを使用することはお勧めしません。マークアップ ブロック スタイルを設定するには、従来の方法を使用することをお勧めします。

要約する

リストはフロントエンド プロジェクトで非常に一般的であり、幅広いアプリケーション シナリオがあります。個人的には、 ::marker疑似要素はlist-style-imagelist-style-text補足であると考えています。これら 3 つはすべて、マーカー ブロックの塗りつぶしコンテンツを定義します。image imageに重点を置き、 text文字列に重点を置き、 ::marker fontcolor 、その他のスタイルを定義でき、それぞれに独自の特性があります。

参照する

https://www.w3.org/TR/2020/WD-css-lists-3-20200709
https://developer.mozilla.org/en-US/docs/Web/CSS/::マーカー

CSS リスト モデルでのマーカー タグの使用に関するこの記事はこれで終わりです。CSS マーカー タグに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

<<:  WebデザイナーがRetinaディスプレイデバイス向けの画像を作成する方法

>>:  vue.js ベースの QQ チャット ルーム

推薦する

Docker Swarm クラスタ管理の使用と原理の分析

Swarm クラスター管理導入Docker Swarm は Docker 用のクラスター管理ツールで...

HTTP ヘッダー情報の解釈と分析 (詳細概要)

HTTP ヘッダーの説明1. Accept: Web サーバーに受け入れるメディア タイプを通知しま...

Mysql でサーバーの UUID を変更する方法

問題の原因:スレーブサーバーがクローンマスターサーバーである場合、server-uuidの値は同じで...

ウェブデザインのグラフィック構成と組版機能の紹介

すべてには基礎が必要です。家を建てるには基礎が必要です。方程式を解くには、まず九九を覚える必要があり...

dockerでredis5.0.3をインストールする方法

1. 公式5.0.3イメージを取得する [root@localhost ~]# docker pul...

Nginx ベースのアクセス制御と接続制限の実装

序文Nginxの組み込みモジュールは、同時リクエスト数の制限とリクエストのソースの制限をサポートして...

FileZilla Server の FTP サーバー構成と 425 エラーおよび TLS 警告の解決策の詳細な説明

123WORDPRESS.COM では、FileZilla のダウンロード リンクを提供しています:...

HTML に基づいてページを更新せずにフォーム送信を実装する

ページを更新せずにフォーム送信を実装するために Ajax を使用することは、プロジェクトでよく使用さ...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

シンプルで簡単なJavaScript開発のためのSvelte実装原理の詳細な説明

目次デモ1フラグメントの作成スヴェルトコンポーネント状態を変更できるデモSvelte は長い間存在し...

VMware Workstation16 と Navicat リモート接続での Centos7 での MySQL8.0 インストール プロセス

目次1. CentOS7+MySQL8.0、yumソースインストール2. MySQLにログインしてパ...

MySQL ディープページング問題の解決の実践記録

目次序文ディープページングを制限すると遅くなるのはなぜですか?サブクエリによる最適化B+ツリー構造の...

vue3 プロジェクトを素早く構築し、関連機能を紹介する vite+ts の詳細な説明

目次ヴィテ建てる構成vite.config.tsルーターtsタイプvue3 の知識設定小道具コンテク...

MySQL5.6.17データベースをインストールするときにMy.iniファイルを構成する方法

最近、プロジェクトの開発時に MySql データベースを使用しました。MySql に関する記事をいく...