当前位置: 首页 > 面试题库 >

CSS数据属性换行符和伪元素内容值

尹昀
2023-03-14
问题内容

数据属性中是否可以有新行?

我正在尝试做这样的事情:

CSS:

[data-foo]:after {
    content: attr(data-foo);
    background-color: black;
}

的HTML

<div data-foo="First line \a Second Line">foo</div>

我发现“ \ a”是CSS中的新行,但仍然对我不起作用。


问题答案:

这是如何工作的。您需要按如下所示修改数据属性:

<div data-foo='First line &#xa; Second Line'>foo</div>

和CSS(概念验证):

[data-foo]:after {
    content: attr(data-foo);
    background-color: black;
    color: white;
    white-space: pre;
    display: inline-block;
}

怎么运行的

使用\a不起作用,但等效的HTML实体起作用&#xa;

根据CSS2.1规范,attr(attribute-label)返回一个字符串,但是CSS处理器未解析该字符串(我不确定这到底意味着什么)。我推测\a必须由CSS处理器解释才能显示代码属性。

相反,HTML实体是由浏览器直接解释的(我想…),因此它似乎可以工作。

但是,为了使换行起作用,您需要设置white-space:pre为保留伪元素中的空白。注意:您也可以考虑pre-wrap,或pre-line根据内容的性质。



 类似资料:
  • 问题内容: 我无权访问页面的HTML或PHP,只能通过CSS进行编辑。我一直在网站上进行修改,并通过或伪元素添加文本,并且发现转义Unicode应该用于添加内容之前或之后的空格等内容。 如何在属性中添加多行? 在示例中,HTML换行符 仅用于可视化 我想要实现的目标: 问题答案: 该属性指出: 作者可以通过在“ content”属性之后的字符串之一中写入“ \ A”转义序列来在生成的内容中包含换行

  • 问题内容: 如何将伪元素选择器()与属性选择器()组合在一起? 我尝试使用,但这在Chrome中不起作用。 HTML: CSS: 在每个div的末尾显示“ YES”,第二个div之后应显示“ NO”。 我正在运行Chrome 17.0.963.38。在Safari 5.1.2中似乎可以正常工作。 问题答案: 这看起来像个错误,终于被报道了。如果您为样式表中的任何位置 添加CSS规则并至少包含一个声

  • 问题内容: 这个问题已经在这里有了答案 : 如何使用CSS在元素之前插入换行符 (15个答案) 5年前关闭。 是否可以在CSS 属性中使用 换行符来强制 换 行?就像是: 问题答案: 在内容属性接受一个字符串和: 字符串不能直接包含换行符。要在字符串中包括换行符,请使用转义符表示ISO-10646(U + 000A)中的换行符,例如“ \ A”或“ \ 00000a”。此字符代表CSS中“换行符”

  • 主要内容:1. ::after,2. ::before,3. ::first-letter,4. ::first-line,5. ::selection,6. ::placeholder伪元素是一个附加在选择器末尾的关键词,通过伪元素您不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪元素您可以设置段落中第一个字母的样式,或者在元素之前、之后插入一些内容等等。 在 CSS1 和 CSS2 中,伪元素的使用与伪类相同,都是使一个冒号 与选择器相连。但在 C

  • CSS伪元素是用来添加一些选择器的特殊效果。 语法 伪元素的语法:selector:pseudo-element {property:value;} CSS类也可以使用伪元素:selector.class:pseudo-element {property:value;} :first-line 伪元素 "first-line" 伪元素用于向文本的首行设置特殊样式。 在下面的例子中,浏览器会根据 "

  • 本文向大家介绍jQuery修改CSS伪元素属性的方法,包括了jQuery修改CSS伪元素属性的方法的使用技巧和注意事项,需要的朋友参考一下 CSS伪元素(pseudo elements)不是DOM元素,因此你无法直接选择到它们。 假设有如下HTML代码: 和CSS代码: 现在你想在某个元素的click事件中动态的把techbrood:before的width属性设置为100%, 有两个方法,一个是