Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.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_Angular_Css Selectors_Components - Fatal编程技术网

组件范围内的CSS选择器最佳实践

组件范围内的CSS选择器最佳实践,css,angular,css-selectors,components,Css,Angular,Css Selectors,Components,基于组件的框架(如Angular 2)定义与组件相关的CSS的范围。这意味着您的组件css不会干扰此组件之外的dom节点 在这种情况下,由于模糊的选择器而产生的副作用就不再重要了。我们应该继续使用强制特定CSS选择器的规则,还是说它变得毫无意义?以不同的方式表述,是否有任何有效的理由继续使用特定的选择器 我对性能的观点不太感兴趣,而是对代码体系结构的观点感兴趣 角度分量应该是小的和专用的,因此不再需要复杂的选择器。 通常简单的类选择器就足够了,因此对复杂的多级选择器使用指南是多余的 您可能仍然需

基于组件的框架(如Angular 2)定义与组件相关的CSS的范围。这意味着您的组件css不会干扰此组件之外的dom节点

在这种情况下,由于模糊的选择器而产生的副作用就不再重要了。我们应该继续使用强制特定CSS选择器的规则,还是说它变得毫无意义?以不同的方式表述,是否有任何有效的理由继续使用特定的选择器


我对性能的观点不太感兴趣,而是对代码体系结构的观点感兴趣

角度分量应该是小的和专用的,因此不再需要复杂的选择器。 通常简单的类选择器就足够了,因此对复杂的多级选择器使用指南是多余的


您可能仍然需要为跨组件边界的主题和选择器建立一些指导原则。

什么是“特定选择器”?当选择器利用类和层次结构的组合精确定位元素时,我将其定义为特定选择器。例:
li{…}
的特定版本将是
.users>li.user{…}
。第一个将匹配我的DOM节点,但也可能匹配它没有为之编写的其他节点。第二种方法可以降低这种风险。这取决于组件模板的大小,但对于常见情况,您不需要这样做。谢谢您的回答。您仍然在谈论简单类,在您的脑海中,在DOM元素上定义选择器可以吗?(
ul
p
例如)当然,您也可以使用标记名。对于几乎所有组件,标记名通常都非常独特。属性选择器也可以正常工作。不过,您不需要复杂的选择器。