只有id和类的CSS - 这是正确的方法吗?

时间:2011-02-16 17:50:44

标签: css css3 css-selectors

我想我可以通过使用id和类来编写几乎所有的CSS样式。 没有复杂的选择器。没有复杂的规则。

此外,以下是:

  

关于CSS3选择器的可悲事实是,如果你关心页面性能,它们根本就不应该被使用。使用类和ID来装饰标记并完全匹配这些标记,同时避免使用兄弟,子孙和子选择器,这实际上会使页面在所有浏览器中的性能都得到显着提升。

我关心页面性能......

请点击此处获取更多信息: http://www.stevesouders.com/blog/2009/03/10/performance-impact-of-css-selectors/

3 个答案:

答案 0 :(得分:2)

过度简化可能意味着更糟糕的可维护性

有时在类和ID中设置它是不够的。取决于您是否也控制您的标记。如果你这样做,你可以做到这一点,但我想如果你想要改变它,它将成为一个PITA。找到使用ID的方法明显比后代选择器简洁。

#SomeButton { ... } // who the hell am I

VS

.editor .action-button { ... } // oh that's who!

不要使用太强大的限制=不要过分简化事物,因为从长远来看它们会变得复杂(它们会反过来)。交易一些是为了可维护性。它也可能意味着你会引入许多重复的风格。所以要注意简化。

如果向后兼容性也是一个问题,那么仅限于后代选择器,如果不需要则不要使用太深的关系。

答案 1 :(得分:1)

这是速度和向后兼容性的正确方法。这些很重要。

然而,这是可维护性(其他人继续工作)和可扩展性(许多网站,子域,页面,小部件,子主题)的错误方式。

答案 2 :(得分:0)

这取决于具体情况。如果您可以为某些元素创建一些通用样式规则,则可以节省大量时间并创建重复代码。例如,如果你写

.div-element-1{font-family:Helvetica; font-size:12px;}
.div-element-2{font-family:Helvetica; font-size:14px;}
.div-element-3{font-family:Helvetica; font-size:18px;}

相反,你可以写:

div{font-family:Helvetica;}

这将适用于所有div并防止你反复编写字体