中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么使用CSS3偽元素::marker

發布時間:2021-11-05 11:05:11 來源:億速云 閱讀:156 作者:iii 欄目:web開發

這篇文章主要講解了“怎么使用CSS3偽元素::marker”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么使用CSS3偽元素::marker”吧!

怎么使用CSS3偽元素::marker

什么是 ::marker

CSS 偽元素 ::marker 是從 CSS Pseudo-Elements Level 3 開始新增,CSS Pseudo-Elements Level 4 中完善的一個比較新的偽元素,從 Chrome 86+ 開始得到瀏覽器的支持。【學習視頻分享:css視頻教程】

利用它,我們可以給元素添加一個偽元素,用于生成一個項目符號或者數字。

正常而言,我們有如下結構:

<ul>
  <li>Contagious</li>
  <li>Stages</li>
  <li>Pages</li>
  <li>Courageous</li>
  <li>Shaymus</li>
  <li>Faceless</li>
</ul>

默認不添加任何特殊的樣式,它的樣式大概是這樣:

怎么使用CSS3偽元素::marker

利用 ::marker 我們可以對序號前面的小圓點進行改造:

li {
  padding-left: 12px;
  cursor: pointer;
  color: #ff6000;
}
li::marker {
  content: '>';
}

就可以將小圓點改造成任意我們想要的:

怎么使用CSS3偽元素::marker

::marker 偽元素的一些限制

首先,能夠響應 ::marker 的元素只能是一個 list item,譬如 ul 內部的 liol 內部的 li 都是 list item

當然,也不是說我們如果想在其他元素上使用就沒有辦法,除了 list item,我們可以對任意設置了 display: list-item 的元素使用 ::marker 偽元素。

其次,對于偽元素內的樣式,不是任何樣式屬性都能使用,目前我們只能使用這些:

  • all font properties -- 所以字體屬性相關

  • color -- 顏色值

  • the content property -- content 內容,類似于 ::before 偽元素 的 content,用于填充序號內容

  • text-combine-upright (en-US), unicode-bidi and direction properties -- 文檔書寫方向相關

::marker 的一些應用探索

譬如我們經常見到標題前面的一些裝飾:

怎么使用CSS3偽元素::marker

或者,我們還可以使用 emoji 表情:

怎么使用CSS3偽元素::marker

都非常適合使用 ::marker 來展示,注意用在非 list-item 元素上需要使用 display: list-item

<h2>Lorem ipsum dolor sit amet</h2>
<h2>Lorem ipsum dolor sit amet</h2>

怎么使用CSS3偽元素::marker

CodePen Demo -- ::marker example

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

::marker 是可以動態變化的

有意思的是,::marker 還是可以動態變化的,利用這點,可以簡單制作一些有意思的 hover 效果。

譬如這種,沒被選中不開心,選中開心的效果:

怎么使用CSS3偽元素::marker

怎么使用CSS3偽元素::marker

CodePen Demo -- ::marker example

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

搭配 counter 一起使用

可以觀察到的是,::marker 偽元素與 ::before::after 偽元素是非常類似的,它們都有一個 content 屬性。

content 里,其實是可以作用一些簡單的字符串加法操作的。利用這個,我們可以配合 CSS 計數器 counter-resetcounter-increment 實現給 ::marker 元素添加序號的操作。

counter-increment 還不算很了解的可以移步這里:MDN -- counter-increment

假設我們有如下 HTML:

<h4>Lorem ipsum dolor sit amet.</h4>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>
<h4>Itaque sequi eaque earum laboriosam.</h4>
<p>Ratione culpa reprehenderit beatae quaerat voluptatibus, debitis iusto?</p>
<h4>Laudantium sapiente commodi quidem excepturi!</h4>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit.</p>

我們利用 ::marker 和 CSS 計數器 counter-increment 實現一個自動計數且 h4 前面帶一個 emoji 表情的有序列表:

body {
  counter-reset: h4;
}

h4 {
  counter-increment: h4;
  display: list-item;
}

h4::marker {
  display: list-item;
  content: "?" counter(h4) " ";
  color: lightsalmon;
  font-weight: bold;
}

效果如下,實現了一個自動給 ::marker 元素添加序號的效果:

怎么使用CSS3偽元素::marker

感謝各位的閱讀,以上就是“怎么使用CSS3偽元素::marker”的內容了,經過本文的學習后,相信大家對怎么使用CSS3偽元素::marker這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

施秉县| 武宁县| 资兴市| 承德县| 台湾省| 尼木县| 浦东新区| 宜君县| 涟水县| 陕西省| 茌平县| 临潭县| 集安市| 晴隆县| 涟源市| 日土县| 郁南县| 平顺县| 通山县| 渝北区| 延吉市| 文山县| 临泽县| 六枝特区| 克山县| 南丹县| 万盛区| 新营市| 北海市| 道孚县| 海林市| 海城市| 奉新县| 紫云| 蓝田县| 蓬莱市| 藁城市| 乌鲁木齐县| 黄浦区| 蒙自县| 临夏县|