带ID的CSSselect器
HTML规范允许在一个id中使用句点(。):
<img id="some.id" />
但是,使用CSS IDselect器规则将无法正确匹配:
#some.id { color: #f00; }
IDselect器的CSS规范没有提到这种情况。 所以我假设它是使用标签名称和类select器的组合? 例如, a.className
的CSS规则将应用于类名为className
所有锚标签( <a>
),如<a class="className"></a>
。
有可能有一个外部的CSS文件规则引用一个HTML元素的ID有一段时间吗?
我希望没有,因为CSS规范指定CSS“ 标识符 ”不包括作为有效字符的时期。 那么这是HTML和CSS规范之间的根本不匹配? 我唯一的select是使用不同types的CSSselect? 任何人比我确认或否认这一点?
(我会从HTML id属性中删除这段时间来简化事情,但是这是一个系统生成的ID,所以在这种情况下我没有能力改变它。)
经典。 在深入研究所有规范的写作问题之后,我再读一遍,发现有一个转义字符。 我从来没有需要它,但CSS规范确实允许像大多数语言一样反斜杠(\)转义 。 你知道什么?
所以在我的例子中,以下规则将匹配:
#some\.id { color: #f00; }
你也可以使用img [id = some.id]]
更多信息在这里: http : //www.w3.org/TR/selectors/#attribute-selectors