在为页面设计HTML和CSS时,我应该何时使用
img.className
与
.className
与
#idName
还是其他一些变种?
有指导方针或建议吗?
答案摘要
谢谢所有回答者 – 这里有一些很棒的东西!
>尽可能使CSS具体化
> use an OO approach
> order: #id,tag,tag.className,.className
> when to use each selector,也是class/ID comparison
> give selectors names based on purpose,not what they look like
> use advanced selectors for smaller code,leave CSS classes for exceptions/overrides only
> manage ASP.NET munging ID
解决方法
通常,您应该与项目要求一样具体.
没有一般规则,这取决于所讨论的风格.
很多人会建议你保持最低的特异性理论,这允许最大级联重用,但这在现实世界的情况下是绝对有毒的,你有多个开发人员都在处理.foo可能看起来像的略有不同的版本.你不想要的继承造成的污染会导致大规模膨胀,试图在本地撤销或在重构中失去时间.
我总是提供的最佳指南是尝试以OO术语思考CSS:类选择器或多或少地映射到接口,标签映射到类,ID选择器映射到实例.因此,决定你想要应用的风格是否真的适用于那个东西,所有类似的东西,或任何想要它的东西.
我还强烈建议您在包装器元素上使用高级ID,这样您就可以像时尚一样在命名空间中编写选择器(即#foo .bar,#foo .baz,其中#foo对于页面或页面设计是唯一的)它允许您降低交叉设计污染的特异性水平和一般性水平,使您可以充分利用级联CSS重用.
两全其美.