组件范围内的CSS选择器最佳实践
基于组件的框架(如Angular 2)定义与组件相关的CSS的范围。这意味着您的组件css不会干扰此组件之外的dom节点 在这种情况下,由于模糊的选择器而产生的副作用就不再重要了。我们应该继续使用强制特定CSS选择器的规则,还是说它变得毫无意义?以不同的方式表述,是否有任何有效的理由继续使用特定的选择器组件范围内的CSS选择器最佳实践,css,angular,css-selectors,components,Css,Angular,Css Selectors,Components,基于组件的框架(如Angular 2)定义与组件相关的CSS的范围。这意味着您的组件css不会干扰此组件之外的dom节点 在这种情况下,由于模糊的选择器而产生的副作用就不再重要了。我们应该继续使用强制特定CSS选择器的规则,还是说它变得毫无意义?以不同的方式表述,是否有任何有效的理由继续使用特定的选择器 我对性能的观点不太感兴趣,而是对代码体系结构的观点感兴趣 角度分量应该是小的和专用的,因此不再需要复杂的选择器。 通常简单的类选择器就足够了,因此对复杂的多级选择器使用指南是多余的 您可能仍然需
我对性能的观点不太感兴趣,而是对代码体系结构的观点感兴趣 角度分量应该是小的和专用的,因此不再需要复杂的选择器。 通常简单的类选择器就足够了,因此对复杂的多级选择器使用指南是多余的
您可能仍然需要为跨组件边界的主题和选择器建立一些指导原则。什么是“特定选择器”?当选择器利用类和层次结构的组合精确定位元素时,我将其定义为特定选择器。例:
li{…}
的特定版本将是.users>li.user{…}
。第一个将匹配我的DOM节点,但也可能匹配它没有为之编写的其他节点。第二种方法可以降低这种风险。这取决于组件模板的大小,但对于常见情况,您不需要这样做。谢谢您的回答。您仍然在谈论简单类,在您的脑海中,在DOM元素上定义选择器可以吗?(ul
或p
例如)当然,您也可以使用标记名。对于几乎所有组件,标记名通常都非常独特。属性选择器也可以正常工作。不过,您不需要复杂的选择器。