9 个你不知道的 CSS 伪元素

4b5a84c9a2c19fb87e6f2a3ae0676c52.png

英文 | https://javascript.plainenglish.io/9-css-pseudo-elements-you-didnt-know-about-bb0faa395986

大厂技术  高级前端  Node进阶

点击上方 程序员成长指北,关注公众号

回复1,加入高级Node交流群

CSS 伪元素是一项强大的功能,它允许您为所选元素的特定部分设置样式,而无需额外的 JavaScript 代码。 

虽然许多开发人员都熟悉常用的伪元素,如 ::before 和 ::after,但还有一些其他元素经常被忽视或未得到充分利用。 

在本文中,我们将分享9 个鲜为人知的 CSS 伪元素,它们可以增强您的样式设置能力。 

现在,让我们开始吧!

1. ::selection 伪元素

::selection 伪元素以用户选择的文本部分为目标。它提供了一种将样式应用于所选文本并自定义其外观的方法。 

例子:

::selection {
  background-color: yellow;
  color: red;
}

在上面的代码中,当用户在页面上选择文本时,它将以黄色背景和红色文本颜色突出显示。

2.::first-letter伪元素

::first-letter 伪元素允许您设置块级元素的第一个字母的样式。当您想将特殊格式应用于段落或标题的初始字符时,它会派上用场。 

例子:

p::first-letter {
  font-size: 2em;
  color: red;
}

在上面的代码片段中,每个段落的第一个字母将以更大的字体显示并显示为红色。

3. ::first-line 伪元素

类似于 ::first-letter,::first-line 伪元素以文本或块级元素的第一行为目标。您可以使用此伪元素将特定样式应用于段落或标题的起始行。 

例子:

p::first-line {
  font-weight: bold;
  text-decoration: underline;
}

在上面的代码中,每个段落的第一行将以粗体显示并带有下划线。

4. ::marker 伪元素

::marker 伪元素以列表项的标记为目标,例如无序列表中的项目符号点或有序列表中的数字。使用此伪元素,您可以自定义标记的外观。 

例子:

li::marker {
  color: blue;
  font-weight: bold;
}

5. ::placeholder 伪元素

::placeholder 伪元素允许您在输入字段和文本区域中设置占位符文本的样式。通过将自定义样式应用到占位符,您可以增强用户体验并使其与您的整体设计保持一致。 

例子:

input::placeholder {
  color: #999;
  font-style: italic;
}

在上面的代码中,输入字段中的占位符文本将以浅灰色和斜体字体样式显示。

6. ::cue 伪元素

::cue 伪元素以 <audio> 或 <video> 元素的提示文本为目标。提示文本通常用于多媒体内容中的字幕或副标题。使用此伪元素,您可以将样式专门应用于提示文本。 

例子:

video::cue {
  color: white;
  background-color: black;
}

在上面的代码中,视频元素中的提示文本将具有白色文本颜色和黑色背景。

7. ::grammar-error 和::spelling-error 伪元素

::grammar-error 和 ::spelling-error 伪元素允许您分别对标记为语法或拼写错误的文本部分设置样式。当内容中存在错误时,这些伪元素可用于向用户提供视觉提示。 

例子:

p::grammar-error {
  text-decoration: line-through;
  color: red;
}


p::spelling-error {
  text-decoration: underline;
  color: blue;
}

在上面的代码中,段落中的语法错误将以划线文本修饰和红色显示,而拼写错误将以下划线和蓝色显示。

8. ::backdrop 伪元素

::backdrop 伪元素与全屏 API 结合使用,以在全屏模式下自定义元素背后的背景。它允许您将默认的黑色背景更改为自定义颜色或样式。 

例子:

video::backdrop {
  background-color: gray;
}

在上面的代码中,当一个视频元素处于全屏模式时,它后面的背景将有一个灰色的背景色。

9. ::target-text 伪元素

::target-text CSS 伪元素代表滚动到的文本(如果浏览器支持文本片段)。它允许作者选择如何突出显示该部分文本。 

例子:

::target-text {
  background-color: rebeccapurple;
  color: white;
}

这是 MDN 提供的在线示例。请注意,此 API 目前处于试验阶段。

结论

CSS 伪元素为元素的特定部分设置样式和增强网页的视觉吸引力提供了广泛的可能性。您无需使用过多的 JavaScript 代码即可实现令人印象深刻的样式效果。

最后,感谢你的阅读! 

 
 

Node 社群

我组建了一个氛围特别好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你对Node.js学习感兴趣的话(后续有计划也可以),我们可以一起进行Node.js相关的交流、学习、共建。下方加 考拉 好友回复「Node」即可。

10fe4f610264b8e910b427298e9c474c.png

“分享、点赞、在看” 支持一下
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值