2010-03-22 44 views
1

也许这个问题已被问到其他地方,但我无法找到它。随着HTML5和CSS3模块逐渐接近,我开始对关于我们编写CSS的方式进行讨论。CSS语义;直接或通过订单选择元素

东西like this其中通过元素顺序进行选择,伪类特别引人入胜。这种方法的一大优点似乎是完全模块化的HTML和CSS,使调整和重新设计更简单。

与此同时,由于各种原因,语义ID和类似乎是有利的。特别是直接链接,JS定位和更短的CSS选择器。另外,似乎选择器的长度可能是一个问题。举例来说,我只是写了下面的,这将是无可否认更容易使用一些语义HTML5元素:

body>div:nth-child(2)>div:nth-child(2)>ul:nth-child(2)>li:last-child

那么,你怎么说,堆栈溢出? CSS写作的未来是否着重于元素顺序和伪类?或者是身份证和班级以及目前的方式留在这里?我很想知道ID和班级的位置,尽管我有兴趣听到更多的方式,您认为他们会继续有必要。我不想歪曲这一点或将其设置为“伪类ID杀手?”我感兴趣的讨论是更大的图片和写作CSS的方式正在改变。)

回答

3

我认为这是一个不可读的憎恶,它会在HTML更改时神秘地停止工作。

基于订单的选择器是完全非自我记录的。
如果有其他人接管了项目,并且HTML发生了变化,他将不知道选择器应该选择什么,并且很难正确地修复它。

如果HTML的任何部分是自动生成的,这一点尤其重要。

+2

伟大的一点,我的例子当然更多的是**如何不**做事情的模式。第n个孩子似乎特别有问题,尤其是当你正在寻找特定地点而不是公式或“奇怪”和“偶数”的元素时。除了这个例子,对于一个比我自己写得更灵巧的人来说,你会持有相同的立场吗?特别是链接的例子? http://camendesign.com/design/ – 2010-03-22 01:04:24

+0

我会继续前进,并将其标记为已回答,因为您提供了与我的建议很好的对应点。我的希望是为了更多人的讨论,但非常感谢您的意见! – 2010-03-23 03:20:37