论坛首页 Web前端技术论坛

css命名规范

浏览 14555 次
锁定老帖子 主题:css命名规范
该帖已经被评为良好帖
作者 正文
   发表时间:2009-11-13  
楼主整理辛苦,但是我还是认为这种定义CSS规范是远离初衷的,老生常谈是枯燥乏味的,但楼主既然提到了语义化这个词,那么只说一俩句,欢..欢迎飞转...

楼主所提供这种CSS规范是inline style的一种高层抽象,虽然不能用对错来衡量这种方法,但是这是一种歧路,对于一个项目我更倾向于【用语义化定义,用cascade组合】来应用CSS.

比如.highligh类


#loginForm .highlight{color:blue}

#searchResult .hightlight(color:red)

比hl1和hl2不是更友好么?
0 请登录后投票
   发表时间:2009-11-14  
to ls:
我还是认为用highlight1,highlight2比用#loginForm .highlight和#searchResult .hightlight这种方式会更好。
你这样命名对loginForm和searchResult是语义了,可是其他地方你也这样用吗,那岂不是要定义很多样式了,难道要:
#loginForm .highlight{color:blue}
#searchResult .hightlight(color:red)
#xx .hightlight(color:yellow)
...
#xxxx .hightlight(color:green)
这样吗?太多样式了,这种方式不好。
关于命名规范,我也还在整理中,随着工作经验的丰富和不断的摸索,只能说找到一套比较适合的方式来执行
0 请登录后投票
   发表时间:2009-11-14  
最近老见这类总结。请楼主阅读:

Meta CSS —— 一个Anti Pattern的典型

关于样式类(Style Class)
0 请登录后投票
   发表时间:2009-11-16  
ice-cream 写道
to ls:
我还是认为用highlight1,highlight2比用#loginForm .highlight和#searchResult .hightlight这种方式会更好。
你这样命名对loginForm和searchResult是语义了,可是其他地方你也这样用吗,那岂不是要定义很多样式了,难道要:
#loginForm .highlight{color:blue}
#searchResult .hightlight(color:red)
#xx .hightlight(color:yellow)
...
#xxxx .hightlight(color:green)
这样吗?太多样式了,这种方式不好。
关于命名规范,我也还在整理中,随着工作经验的丰富和不断的摸索,只能说找到一套比较适合的方式来执行


咬文嚼字一些的话,这些只有一个样式,就是highlight,而如果使用highlight1,highlight2....才是很多样式。

所谓#XXX .highlight,这种行为不是定义新的样式,而是cascade,也就是CSS里面的C,通过C,我们可以非常具体定义元素的表现形式,同时更重要的是他可以描述,loginForm中的highlight应该是蓝色的,searchResult中的highlight应该是红色的.

这里一个争执在于,如果searchResult中的highlight和error message中的highlight都是红色的,为什么我们不把它们归结为一类呢?hl-red或者hl1多好,可以重用,减少样式数量,要多好有多好。

(刚刚写了很多,自己又删掉了……唔,很多东西没有对错的)

hax上面的文章写得很好,有些东西看上去很美,用起来还是要慎重的.
0 请登录后投票
   发表时间:2009-11-16  
bluemeteor 写道
hl-red或者hl1多好,可以重用,减少样式数量,要多好有多好。


这种命名方式,如果有换肤的需求就不适合了
0 请登录后投票
   发表时间:2009-11-18  
换肤有几种做法。
1. alternative stylesheet
2. 使用一个html/body上的class来表示theme,然后给selector加上这个附加class,来override默认样式
3. 结合上述两种
0 请登录后投票
   发表时间:2009-11-25  
诸葛孔明 写道
bluemeteor 写道
hl-red或者hl1多好,可以重用,减少样式数量,要多好有多好。


这种命名方式,如果有换肤的需求就不适合了

所以命名的时候不要出现red 或者blue这样带有颜色的字样。
否则换肤如果换css的话,hl-red却是显示的蓝色,就让人纳闷了。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics