CSS 中的内容属性

Posted

技术标签:

【中文标题】CSS 中的内容属性【英文标题】:content property in CSS 【发布时间】:2013-12-11 05:00:29 【问题描述】:

在某些模板中,我看到一个用 CSS 创建的箭头。像这样:

div:after
    content:"\f107";

这段代码显示一个像这样的箭头:

这段代码是什么?在哪里可以找到更多代码?

【问题讨论】:

【参考方案1】:

CSS 有一个名为content 的属性。它只能与伪元素:after:before 一起使用。它写得像一个伪选择器(带有冒号),但它被称为伪元素,因为它实际上并没有选择页面上存在的任何东西,而是向页面添加新的东西。

Font Awesome 是一种网络字体,包含来自 Twitter Bootstrap 框架的所有图标,现在还有更多。

您可以在此处找到FontAwesome 的列表:A list of Font Awesome icons and their CSS content values

您也可以通过此链接,FontAwesome Examples,您可以在其中看到不同的图标以及如何在其上应用不同的大小。

【讨论】:

【参考方案2】:

正如其他答案所解释的,CSS 规则使用 content 属性按其 Unicode 编号插入字符。

但是,使用的字符是 U+F107 PRIVATE USE CHARACTER-F107。这意味着它除了通过私人协议外没有任何意义,不应用于公共信息交换。不幸的是,一些“很棒”的技巧使用私人使用代码点来插入图形符号。这意味着除非使用非常特定的字体,并使用分配给这些代码点的一些符号,否则会出现未知字符的通用符号。

因此,在适当的内容中使用图像会更安全。

【讨论】:

【参考方案3】:

使用content属性在元素中嵌入虚拟内容,它与伪:before:after一起使用,所以如果使用:before,内容将被嵌入之前。

来自MDN:

content CSS 属性与::before::after 一起使用 伪元素在元素中生成内容。插入的对象 使用content 属性是匿名 replaced elements。

Content 属性可以包含任何character、number、entities。更多信息可以参考文章here。

另外,你可以得到一个方便的转换器here。


font-awesome - Example 和其他相关的 svg 字体嵌入库也使用此方法,您可以在其中简单地调用元素的类,字体将被虚拟嵌入。


另外,只是一个侧面信息,使用 CSS content 属性生成的内容默认为 inline,这也是呈现 inside 元素而不是外部..

【讨论】:

【参考方案4】:

CSS 内容属性: content 属性与 :before 和 :after 伪元素一起使用,插入生成的内容。

Read more

【讨论】:

这不是关于内容,这是关于内容字符代码【参考方案5】:

这是escaped unicode character。

【讨论】:

以上是关于CSS 中的内容属性的主要内容,如果未能解决你的问题,请参考以下文章

HTML:啥 css 属性使按钮“中心”中的内容?

有没有办法将文本与 CSS 内容属性(chrome)中的图像垂直对齐?

课时61.文字相关属性(掌握)

CSS3内容溢出详解

CSS属性中的“auto”值是啥意思。

CSS属性不适用于jQuery无限滚动中的附加项目