CSS Handbook · 伪元素

第三章 / 3.3 其他伪元素

第三章 · 3.3 节

其他伪元素


除了 ::before/::after 与排版类伪元素,浏览器还为一些特定场景开放了专属的伪元素接口,覆盖文本选中、表单占位符、列表符号乃至原生对话框的背景遮罩。

::selection

自定义用户用鼠标拖选文本时的高亮样式,只支持 colorbackground-colortext-shadow 等少量属性。

::selection {
  background: #d3985a;
  color: #ffffff;
}
试一试:用鼠标选中下面这段文字

选中我看看效果——本教程站点全局也应用了这一自定义样式。

::placeholder

定制表单占位文字的样式,注意它的默认颜色对比度较低,适当调整能提升可读性,但不宜与真实输入内容的颜色过于接近。

input::placeholder {
  color: #a39fb5;
  font-style: italic;
}
效果预览

::marker

作用于列表项 <li> 的项目符号或序号本身,无需再用 list-style: none + 伪元素模拟,即可直接改变颜色、大小甚至替换内容。

li::marker {
  color: #8a5a2e;
  font-size: .9em;
}
li.important::marker {
  content: "★ ";
}
效果预览
  • 选择器
  • 伪元素

::backdrop

作用于以全屏模式或原生 <dialog> 弹出的元素背后的遮罩层,让我们无需额外的遮罩 div 即可定制蒙层颜色与模糊效果。

dialog::backdrop {
  background: rgba(38,35,58,.5);
  backdrop-filter: blur(2px);
}

::file-selector-button

作用于 <input type="file"> 内置的"选择文件"按钮,是少数几个可以直接美化原生表单控件子部件的接口之一。

input[type="file"]::file-selector-button {
  background: #3f5d54;
  color: #fff;
  border: none;
  padding: 6px 14px;
  border-radius: 4px;
}