Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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
Html 为什么>选择器也选择嵌套范围?_Html_Css - Fatal编程技术网

Html 为什么>选择器也选择嵌套范围?

Html 为什么>选择器也选择嵌套范围?,html,css,Html,Css,很明显,我可能遗漏了一些东西,但我不明白为什么只应选择直接子级的>选择器也会设置嵌套span 2的样式。 当我将其添加到CSS中时,我确实得到了预期的结果,外部的span 1为绿色,span 2为黑色: 跨度{ 颜色:黑色; } 但是,我觉得奇怪的是,仅使用>选择器会以某种方式扩展到嵌套的范围,充当针对所有子对象的空间选择器: 分区跨度{ 颜色:绿色; } 有什么想法吗?我过去常常摆弄它简言之。该样式不会直接应用于第二个跨度。相反,第二个跨度继承了第一个跨度的样式 看看Chrome开发工具之类

很明显,我可能遗漏了一些东西,但我不明白为什么只应选择直接子级的>选择器也会设置嵌套span 2的样式。

当我将其添加到CSS中时,我确实得到了预期的结果,外部的span 1为绿色,span 2为黑色:

跨度{ 颜色:黑色; } 但是,我觉得奇怪的是,仅使用>选择器会以某种方式扩展到嵌套的范围,充当针对所有子对象的空间选择器:

分区跨度{ 颜色:绿色; } 有什么想法吗?我过去常常摆弄它

简言之。该样式不会直接应用于第二个跨度。相反,第二个跨度继承了第一个跨度的样式

看看Chrome开发工具之类的东西,你会看到这一点

你在这里的选择是有限的。您可以通过将嵌套跨距重置为初始状态来取消其设置

身体{ 颜色:红色; } div>span{ 颜色:绿色; } div>span>span{ 颜色:首字母; } 这是span 1 这是span 2
因为跨度的子对象得到父对象的颜色。基本上是如何将颜色指定给body标记以及body中的所有元素获得该颜色。要使内部跨度变为黑色,唯一的方法是指定一个具有更高特异性的规则。谢谢!这就是原因。不过情况很奇怪。你活着,你学习!这就是级联样式表的工作原理。哦,多有趣啊!如何修改代码以实现阻止嵌套span继承的预期结果?请参见更新的answer.div>span>span这是相当具体的,在更大范围内,您更希望所有span元素span{color:initial}的属性rest