Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CSS选择器中的垂直线?_Css_Google Chrome_Css Selectors - Fatal编程技术网

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

在Google Chrome 46.0.2490.80 m的调试器中,我发现了一些有趣的css选择器,用于
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标记之外的所有标记。希望有帮助。否则,您将需要查找名称空间及其使用方式。