webrebuild.org第四届年会——金秋四城联动

邀您参加“裸奔”

在你对CSS华丽的效果着迷时,别忘了在华丽外表下面,最原始的文字。

邀您参与每年4月9号的“CSS裸奔节”,详情请登陆webrebuild.org

[原]关于CSS样式命名中的下划线

Ghost 发表于 [2006-06-07 10:15]

长久以来,一直习惯了在命名CSS样式名时使用下划线“_”做为单词的分隔符,这也是在写JS时惯用的写法。

用过CSS hack的朋友应该知道,用下划线命名也是一种hack,如使用“_style”这样的命名,可以让IE外的大部分浏览器忽略这个样式的定义,所以使用“_”做为命名时的分隔符是不规范的。在做CSS检查时会出现错误提示。

为此得找一个能代替下划线而又合规范的符号,当然不是一定要用这种分隔符之类的,只是个人习惯问题。

做了个小测试,将下划线分别用了“~”、“$”、“`”、“&”和“-”去代替,结果只有“-”号是可以使用的,而且对JS的支持也正常,看下测试:

———————————————-CSS————————————————-
 .try-a{ color:#00f; }
 .try~a{ color:#00f; }
 .try`a{ color:#00f; }
 .try&a{ color:#00f; }
 .try$a{ color:#00f; }
 
 .try-b{ color:#f00; }
 .try~b{ color:#f00; }
 .try`b{ color:#f00; }
 .try&b{ color:#f00; }
 .try$b{ color:#f00; }
———————————————————————————————————

——————————————-HTML—————————————————
<div id=“a” class=“try-a”>try1</div>
<div id=“b” class=“try~a”>try2</div>
<div id=“c” class=“try`a”>try3</div>
<div id=“d” class=“try&a”>try4</div>
<div id=“e” class=“try$a”>try5</div>

<input type=“button” value=“ok” onclick=“b();” />
———————————————————————————————————

————————————————-JS—————————————————
function b(){
  document.getElementById(“a”).className=“try-b”;
  document.getElementById(“b”).className=“try~b”;
  document.getElementById(“c”).className=“try`b”;
  document.getElementById(“d”).className=“try&b”;
  document.getElementById(“e”).className=“try$b”;
 }
———————————————————————————————————

结果是“try1”变成了红色,显示正常。不过在CSS定义里,经常会用到ID选择符,如果在页面中的ID命名中使用了“_”,就免不了在CSS样式里出现下划线“_”了,所以在此还得注意在ID的命名上也要避免使用下划线。

注:由于在JS脚本里有时会用到document.idName这样的调用,如果ID中使用“-”号的话会被解释成是减的操作,所以使用ID选择符时不在此建议范围,当然在写样式的时候,也不建议过多的使用ID选择符。

文章地址:http://www.cssforest.org/blog/index.php?id=59

[原]关于CSS样式命名中的下划线》采用的授权是创作共用的 “署名-非商业性使用-相同方式共享 3.0 通用许可”.

文章被分类到:CSS


评论也精彩

  1. lewi 在 921 日 之前 说:

    有点帮助,平时黑没有注意过,支持.

  2. bill 在 784 日 之前 说:

    嗯 今天用TOPSTYLE检查CSS 提示说OP会忽略下划线的

欢迎发表评论
  1. 请不要发表跟文章无关的评论,内容或站点如指向非个人博客地址的以发广告对待!
  2. 为抵制垃圾评论,留言需要先预览再点击提交。
  3. 评论支持textile语法,查看 textile帮助
  4. 还可以使用QQWeb输入法