2010-07-30 54 views
3

几个月前我刚开始做网页开发。我知道HTML,并知道如何标记页面的语义正确性(不使用表格布局,正确使用HTML5中的新语义元素等)。我尝试遵守W3C的设计建议。但是,我在编写“好”CSS时遇到了麻烦。写好CSS的一些技巧有哪些?

我知道如何使用高效的选择器,如子选择器而不是后代选择器等等。我的问题是,我觉得我的CSS与我的标记语义不匹配。 CSS应该是可重用的,这意味着同一个类可以用于多个页面上的多个元素。但是我写的CSS类只适用于一些元素(通常只在一个页面上),并且不会再使用。我经常编写相同的样式,但对于许多类,只有很小的变化。这违背了DRY的发展原则。

我没有使用CSS来充分发挥它的潜力吗?有什么方法可以让我的样式可重用,而不需要像.right-align { } .blue-text { }这样的东西?

回答

3

我目前最好的建议是看看Object Oriented CSS。这种观点有点改变,但它是一个坚实的概念,绝对值得一看。

0

但CSS类,我写的只适用于少数几个元素(往往只有一个页面),并不再使用。我经常编写相同的样式,但对于许多类,只有很小的变化。这违背了DRY的发展原则。

听起来像DRY问题是与设计,而不是你的编码。如果设计需要在每个页面上显示不同的内容,那么重用的范围就不大。

总的来说,我发现有一些值得创建类两种情况:

  1. 的设计要求的组件,例如一个登录面板,这在概念上是一回事(尽管它可能由多个HTML元素组成),并且需要自己的样式。那时候我会创建一个类似log-in-panel的类。

  2. 有一个相当复杂的风格(例如带阴影,圆角,边框和渐变背景的盒子,它也必须在IE中看起来像),这在几个地方使用,没有特别的概念他们之间的联系。那时候我会创建一个类似.box1的类。如果我在不同的框之间共享了半复杂的代码(在IE 6中实现这些代码是我自由的公司最喜欢的一个梦魇任务),我会将其分成类如box

如果您有几个使用类似样式类的类,那不一定是问题。 CSS通常很简单。 DRY对于一段代码的维护和错误修复不必在多个地方发生时非常有用。如果重复的CSS不那么复杂,那就没有必要担心了。