这个CSS选择器应该指向什么?据我所知:酒吧伪类不存在...如何处理CSS选择器中的未知/无效伪类?
.Today_s_foo:bar
{
font-size: 21px;
font-family: "Ubuntu";
}
这个CSS选择器应该指向什么?据我所知:酒吧伪类不存在...如何处理CSS选择器中的未知/无效伪类?
.Today_s_foo:bar
{
font-size: 21px;
font-family: "Ubuntu";
}
通常应该无效整个规则,在一个规则中使用多个选择时可能很重要,看简单的例子:http://jsfiddle.net/S56xM/
HTML:
<div>Hello!</div>
CSS:
div, div:foobaresque { font-size: 100px; }
您将会看到div { font-size: 100px; }
“子规则”不适用,即使我们的头脑告诉我们它会被应用。
应用校正
在.Today_s_foo
的规则将不会在任何工作浏览器进行设置。
我认为这是IE
.Today_s_foo:IE6 /* IE6 hack */
,但它不存在列为不推荐的黑客对http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml
。
我无法真正找到链接页面上的这种特定黑客攻击,只有'body:empty','a:link:visited,a:visited:link',但它们不同。 – biziclop
所以你的意思是他们就像试图给我带来某种错误?我认为我不应该从原始CSS中删除:foo,但如果我不删除它,该规则将不适用(当然,只适用于
@biziclop我的错误,我认为它已列出。 user1249791我不确定此刻哪个浏览器会呈现该代码。他们是更好的方式发送CSS到只有一个浏览器,不会在CSS中创建无效的“错误”。 – Wayne
根据current specification解析选择器中的错误:“使用选择器的整个规则被丢弃”。有关后果的示例,另请参阅this part of the spec。
“规则”表示如果选择器的任何部分被解析为无效,则{brackets}
中的每个属性设置都将被忽略。
为什么它会做任何事情,如果它无效?你正在使用一些CSS预处理器(SASS,LESS等)吗? – biziclop
@ user2864740:如果浏览器中没有执行某些操作,则不会应用任何操作。这与将样式应用于不存在的元素一样好。 –
我刚刚得到一个必须在HTML上转换的PSD,我导出了要由每个元素应用的CSS。 CSS必须是正确的(或者至少有一定意义),因为它来自我必须做的一种考试... – user1249791