CSS 属性以插入符号(^)开头

6

我正在维护的项目中,许多CSS属性都以脱字符^开头,像这样:

<tr style="^padding-bottom: 10px;">

插入符是否有任何意义?可能是为了解决某些晦涩的浏览器问题吗?或者它只是以前开发人员复制粘贴多次的错别字(因为它总是与“padding-bottom”一起出现)?


有趣的是,这不是我以前遇到过的CSS字符(除了较新的属性开始选择器)。 - David Thomas
看起来像是一个错误,我以前从未见过这样的情况,并且找不到任何关于´^´作为浏览器修复的来源。 - Allan Kimmer Jensen
3
我的直觉认为这可能是一种错误的浏览器黑客尝试,但我也找不到过去有人使用这种方法的参考信息。我认为这可能是打字错误或者疏忽所致。 - DA.
@DA. “许多CSS” - 许多相同的拼写错误? - Christoph
@Christoph 当然可以。如果是剪切和粘贴或者仅仅是程序生成的,它可能会到处都是。 - DA.
2个回答

6
带有插入符号的样式不会被应用。因此,在不使用整个HTML注释的情况下,这可能是一种 注释 CSS样式的方法。不过这并不是标准的做法。 (示例)
在CSS中,插入符号字符确实具有意义,“以...开始”属性选择器
它允许您在CSS中基于属性值是否以给定字符串开头来定位元素。
E[foo]  an E element with a "foo" attribute
E[foo="bar"]    an E element whose "foo" attribute value is exactly equal to "bar"
E[foo~="bar"]   an E element whose "foo" attribute value is a list of whitespace-separated values, one of which is exactly equal to "bar"
E[foo^="bar"]   an E element whose "foo" attribute value begins exactly with the string "bar"
E[foo$="bar"]   an E element whose "foo" attribute value ends exactly with the string "bar"
E[foo*="bar"]   an E element whose "foo" attribute value contains the substring "bar"

然而,在您的情况下,插入符号并未作为选择器起作用。


这是内联的,它不是选择器。 - Allan Kimmer Jensen
我正在解释CSS中的插入符号是什么。 - Anirudh Ramanathan

4

是的,在CSS 3中插入符具有意义,它是CSS 3中的属性选择器。此选择器允许表示元素的属性。当选择器用作匹配元素的表达式时,必须考虑属性选择器是否与具有与属性选择器表示的属性匹配的属性的元素匹配。

但在您的情况下可能是一个打字错误。

CSS3属性选择器-子字符串匹配

CSS3规范中的三个属性选择器允许您检查指定属性的值是否与字符串匹配。这些属性选择器被称为子字符串匹配属性选择器
[att^=val] 表示具有att属性且其值以前缀“val”开头的元素。如果“val”为空字符串,则选择器不表示任何内容。
[att$=val] 表示具有att属性且其值以后缀“val”结尾的元素。如果“val”为空字符串,则选择器不表示任何内容。
[att*=val] 表示具有att属性且其值包含至少一个子字符串“val”的元素。如果“val”为空字符串,则选择器不表示任何内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接