现在,在使用 <ul> 或 <ol> 时自定义数字或项目符号的颜色,大小或类型很简单。利用css的:marker伪元素,我们可以很轻易的更改内容以及项目符号和数字的某些样式。::marker伪元素它作用在任何设置了display:list-item的元素或伪元素上。
CSS 伪元素 ::marker 是从 CSS Pseudo-Elements Level 3 开始新增,CSS Pseudo-Elements Level 4 中完善的一个比较新的伪元素,从 Chrome 86+ 开始得到浏览器的支持。利用它,我们可以给元素添加一个伪元素,用于生成一个项目符号或者数字。
正常而言,我们有如下结构:
<ul>
<li>Contagious</li>
<li>Stages</li>
<li>Pages</li>
<li>Courageous</li>
<li>Shaymus</li>
<li>Faceless</li>
</ul>
默认不添加任何特殊的样式,它的样式大概是这样:
利用 ::marker 我们可以对序号前面的小圆点进行改造:
li {
padding-left: 12px;
cursor: pointer;
color: #ff6000;
}
li::marker {
content: '>';
}
就可以将小圆点改造成任意我们想要的:
1、除了ul或ol下的li标签可直接使用::marker伪元素,其他元素使用需要设置display:list-item的属性才支持哦。
2、其次,对于::marker伪元素的样式,不是任何样式属性都能使用,目前只支持如下这样样式:(另外注意不允许的 background 属性是没有效果的)
animation-*
transition-*
color
direction
font-*
content
unicode-bidi
white-space
3、::marker伪元素标记不是所有浏览器都支持,包括chrome也只是在80以上版本通过启用experimental Web Platform才支持,而safari浏览器目前还不支持对content进行自定义,只支持比较原始的几种
Chrome DevTools随时可以帮助你检查,调试和修改应用于 ::marker 伪元素的样式。
我们经常遇到图标和文字挨着,不管图标怎么调都很难与文字和谐共处一行,很难实现垂直对齐。这个古老的话题有挺多解决方式的,很多人借助复杂的position: absolute硬调,挺麻烦的,还要写很多代码,不过使用伪元素的话,几行就可以搞定啦!
css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁。但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何使用他们?什么时候应该使用他们?
CSS 里面的伪元素其实是非常好用的,但是经常容易被大家忽略,伪元素里面常用到的 content 属性,可能现在很多人仅仅以为 content 属性的值只支持字符串,除了字符串外常用到的还有 uri、counter ,今天所要介绍的就是 conter(计数器)。
伪元素用于向某些选择器设置特殊效果。已存在元素是指DOM中存在的,伪元素则是虚拟的一种,样式也是给这个虚拟的元素使用的。
CSS 伪元素是一项强大的功能,它允许您为所选元素的特定部分设置样式,而无需额外的 JavaScript 代码。虽然许多开发人员都熟悉常用的伪元素,例如::before和 ::after,但还有一些其他元素经常被忽视或未得到充分利用
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!