CSS命名规范
页头:header
登录条:loginbar
标志:logo
侧栏:sidebar
广告:banner
导航:nav
子导航:subnav
菜单:menu
子菜单:submenu
搜索:search
滚动:scroll
页面主体:main
内容:content
标签页:tab
文章列表:list
提示信息:msg
小技巧:tips
栏目标题:title
加入:joinus
指南:guild
服务:service
热点:hot
新闻:news
下载:download
注册:regsiter
状态:status
按钮:btn
xx:vote
合作伙伴:partner
友情链接:friendlink
页脚:footer
版权:copyright
以上结构可以组合使用,例如:左列标题lefttitle;底部导航footernav 书写原则是: 1.一律小写; 2.尽量用英文; 3.不加中杠和下划线; 4.尽量不缩写,除非一看就明白的单词
关于CSS样式命名中的下划线
长久以来,一直习惯了在命名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的命名上也要避免使用下划线。
css命名不能使用下划线开始?
分类:技术文档时间:2007-8-7 14:13:59作者:Maxwin标签:CSS 命名 下划线 #_div 这样的css命名在ff可以有效果,但在ie里是不行的。最严重的是这个会导致ie在使用 styleSheets.addRule() 时导致ie崩溃
<style type="text/css">
#_div {
background: red;
width: 200px;
height: 80px;
}
</style>
<div id="_div">_div</div>
<div id="ok">ok</div>
<div id="_die">_die</div>
<script type="text/javascript">
var style_node = document.styleSheets[0];
style_node.addRule ("body", "background: green");
style_node.addRule ("#ok", "background: red");
if (confirm("go on?"))
style_node.addRule ("#_die", "background: #fff"); //将导致ie崩溃
</script>