您现在的位置是:网站首页> 编程资料编程资料
CSS 伪元素::marker详解
2021-09-02
1153人已围观
简介 本文介绍了什么是 ::marker 以及它的一些实用场景,可以看出虽然 ::before 、::after 也能实现类似的功能,但 CSS 还是提供了更具有语义化的标签 ::marker,也表明了大家需要对自己的前端代码(HTML/CSS)的语义化更加注重
本文将介绍 CSS 中一个比较有意思的伪元素 ::marker,利用它,我们可以让我们的文字序号变得更加的有意思!
什么是 ::marker
CSS 伪元素 ::marker 是从 CSS Pseudo-Elements Level 3 开始新增,CSS Pseudo-Elements Level 4 中完善的一个比较新的伪元素,从 Chrome 86+ 开始得到浏览器的支持。
利用它,我们可以给元素添加一个伪元素,用于生成一个项目符号或者数字。
正常而言,我们有如下结构:
- Contagious
- Stages
- Pages
- Courageous
- Shaymus
- Faceless
默认不添加任何特殊的样式,它的样式大概是这样:

利用 ::marker 我们可以对序号前面的小圆点进行改造:
li { padding-left: 12px; cursor: pointer; color: #ff6000; } li::marker { content: '>'; }就可以将小圆点改造成任意我们想要的:

::marker 伪元素的一些限制
首先,能够响应 ::marker 的元素只能是一个 list item,譬如 ul 内部的 li,ol 内部的 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 的一些应用探索
譬如我们经常见到标题前面的一些装饰:

或者,我们还可以使用 emoji 表情:

都非常适合使用 ::marker 来展示,注意用在非 list-item 元素上需要使用 display: list-item:
Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet
h1 { display: list-item; padding-left: 8px; } h1::marker { content: '
相关内容
- CSS3实现列表无限滚动/轮播效果jQuery css3实现响应式图文卡片滚动轮播特效CSS3简易切割轮播图的实现代码CSS3制作轮播图的一种方法利用 CSS3 实现的无缝轮播功能代码
- CSS中Single Div 绘图技巧的实现CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- CSS几步实现赛博朋克2077风格视觉效果html+css实现赛博朋克风格按钮
- CSS filter 有什么神奇用途css3 filter属性的使用简介CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码CSS3 filter(滤镜)实现网页灰色或者黑色模式的代码css中filter属性和backdrop-filter的应用与区别详解详解CSS3 filter:drop-shadow滤镜与box-shadow区别与应用使用css的filter写鼠标滑过效果的实现示例
- css背景和边框标签实例详解基于CSS 属性实现按钮悬停边框和背景动画集合CSS 制作带边框背景色透明的消息框css3 边框、背景、文本效果的实现代码CSS3实现多背景模拟动态边框的效果CSS控制背景图像平铺实现边框阴影效果css div 边框阴影利用背景图或内外层div实现层次感觉阴影效果css样式div或li在ie6下背景平铺及border边框断线解决技巧 CSS新特性:圆角边框多栏Gird布局背景设置
- CSS的class与id常用的命名规则值得收藏的CSS命名规范(规则)常用的CSS命名规则 CSS命名规则和命名方法常用的 css 命名规则(推荐)浅谈css命名规则(新手必看)CSS语义化命名方式及常用命名规则CSS书写规范、顺序和命名规则常用的CSS命名规则 web标准化设计编写CSS代码时样式的命名规则CSS 样式命名规则CSS 文件命名规则
- CSS 制作波浪效果的思路CSS实现波动水球效果的示例代码CSS Houdini实现动态波浪纹效果svg+css3做一个动感的波浪效果实现使用CSS实现逼真的水波纹点击效果使用css实现圆形波浪效果图 纯CSS实现波浪移动效果的示例css3实现冲击波效果的示例代码利用css实现波纹动画效果实例一波CSS高级实用技巧小结一波CSS制作的三角形和圆形小按钮示例
- 面试必问:圣杯布局和双飞翼布局的区别浅谈css双飞翼布局和圣杯布局CSS的三列式"圣杯布局"方案完全解析CSS布局之圣杯布局与双飞翼布局
- CSS 实现多彩、智能的阴影效果css3中less实现文字长阴影(long shadow)CSS中使用文本阴影与元素阴影效果
- 解析CSS 提取图片主题色功能(小技巧)CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
