CSS选择器中的垂直线?
在Google Chrome 46.0.2490.80 m的调试器中,我发现了一些有趣的css选择器,用于CSS选择器中的垂直线?,css,google-chrome,css-selectors,Css,Google Chrome,Css Selectors,在Google Chrome 46.0.2490.80 m的调试器中,我发现了一些有趣的css选择器,用于svg: html|* > svg { /* css stuff */ } (用户代理样式表) 如我所知,这将选择所有svg元素,它们是……what(html |*)的直接子元素?这条垂直线是什么意思?它将名称空间与选择器分开。在本例中,它在html名称空间中查找作为另一个标记的直接子元素的所有svg元素。如果您查找的是“作为html标记的直接子元素的所有svg元素”,为什么不执行h
svg
:
html|* > svg { /* css stuff */ }
(用户代理样式表
)
如我所知,这将选择所有
svg
元素,它们是……what(html |*
)的直接子元素?这条垂直线是什么意思?它将名称空间与选择器分开。在本例中,它在html名称空间中查找作为另一个标记的直接子元素的所有svg元素。如果您查找的是“作为html标记的直接子元素的所有svg元素”,为什么不执行html>svg
?@ChrisSmith您更改了我所说的内容。我说“…html名称空间中另一个标记的直接子级”,这与“html标记的直接子级”非常不同,假设“html标记”是指名为“html”的标记,而不是html规范中的任何标记html>svg
is将执行前者,而html |*>svg
将执行后者。如果您只有一个简单的html文档(而不是xhtml),并且没有使用svg或对象等东西。那么文档中的每个标记都是html名称空间的一部分,因此html |*>svg
将与*>svg
的作用相同,它将是除根html标记之外的所有标记。希望有帮助。否则,您将需要查找名称空间及其使用方式。