gpt4 book ai didi

html - CSS数据属性换行符&伪元素内容值

转载 作者:技术小花猫 更新时间:2023-10-29 11:38:27 27 4
gpt4 key购买 nike

是否可以在数据属性中换行?

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

CSS:

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

HTML

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

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

最佳答案

这是它的工作原理。您需要按如下方式修改您的数据属性:

[data-foo]:after {
content: attr(data-foo);
background-color: black;
color: white;
white-space: pre;
display: inline-block;
}
<div data-foo='First line &#xa; Second Line'>foo</div>

fiddle 演示:http://jsfiddle.net/audetwebdesign/cp4RF/

工作原理

使用 \a 不起作用,但等效的 HTML 实体 起作用。

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

相比之下,HTML 实体直接由浏览器解释(我猜......)所以它看起来有效。

但是,要使换行起作用,您需要设置 white-space: pre 以保留伪元素中的空白。注意:您还可以考虑 pre-wrappre-line,具体取决于内容的性质。

引用

关于获取换行的 HTML 实体代码:
http://www.fileformat.info/info/unicode/char/000a/index.htm

关于 content 属性的 attr() 值:
http://www.w3.org/TR/CSS2/generate.html#content

关于html - CSS数据属性换行符&伪元素内容值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16451553/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com