0

当我使用样式 CSS 时,如下所示:

#test p{/*css code here*/}
#test span{/*css code here*/}
#test p.one{/*css code here*/}
#test span.test{/*css code here*/}

#test然后每次选择带有id的div会比较容易,如下:

begin #test
p{/*css code here*/}
span{/*css code here*/}
p.one{/*css code here*/}
span.test{/*css code here*/}
end #test

这是 CSS 样式的好习惯吗?如果是这样,我希望这将被添加到未来版本的 CSS 中。

4

5 回答 5

6

或者您可以使用动态 CSS 语言,例如 LESS:http ://lesscss.org/或 Sass http://sass-lang.com/正如@steveax 指出的那样

于 2013-08-04T07:00:10.407 回答
0

不要超出范围。我相信这里的社区可能会不同意,

  1. 忘记曾经存在的 ID(准备被私刑)

  2. 避免将类限定为元素(p.one 应写为 /* p */.one 或 .one)

请看这个:

http://coding.smashingmagazine.com/2011/12/12/an-introduction-to-object-orientated-css-oocss/

https://github.com/stubbornella/oocss-accessibility-guidelines

于 2013-08-04T07:07:53.707 回答
0

这是一个有趣的建议,但我宁愿坚持原来的。#test我知道输入100 次可能太多了,但是在 中css,人们可能会发现很难看到beginend关键字。

尤其是当你有 other 时p, span,begin 和 end 中的相同内容可能看起来令人困惑。

这当然只是一个意见...

于 2013-08-04T07:00:19.470 回答
0

在 csslint 验证中,通常不允许使用 id。我相信原因是可重用性问题。我认为特别的开始和结束也给 css 代码的可重用性带来了问题。我更喜欢使用可以被许多元素重用的元素属性。

于 2013-08-04T07:03:37.493 回答
0

嵌套选择器目前不是一个好的 CSS 实践,因为它不是有效的 CSS 并且不起作用。

CSS 编译器(例如SassLESSStylus)通过添加嵌套、变量和循环/逻辑等功能来实现更动态的 CSS 开发。CSS 编译器之于 CSS 就像 PHP 之于 HTML 一样。

有些 主张在任何 CSS 样式中避免使用s 您必须仔细考虑这些论点,并确定这种做法对您的实施是否有意义。id

如果您希望影响即将发布的 CSS 规范和建议,您可以与W3C CSS WG合作。

于 2013-08-07T19:22:04.910 回答