无论多少人开发一个项目,规范是最初始也是最基本的,一个好的规范不仅让代码看起来完美也能够解决冲突。下面是我在开发时使用的css规范
1 <div class="demo-shopping">2 <h2 class="demo-shopping-title">title</h2>3 <p class="demo-shopping-body">hello world!</p>4 </div>
上面的代码中,模块的名为shopping,模块最外层使用{命名空间}-{模块名}
的方式命名 Class。模块子元素以在此基础上进行命名。如果不继承父级的类名,很容易造成命名冲突。
<p>
;是标题的,就用<h1>~<h6>
;是引用的,就用<blockquote>
, 而不是简单粗暴的用<div>
、<span>
。语义化的目的,一方面是抽去 CSS 以后,页面还是一个结构良好、可读的页面;另一方面,这也是 SEO 的最基本要求。1 /* 推荐写法 */2 .demo-shopping {3 4 }5 .demo-shopping-body {6 7 }8 /* 不推荐写法 */9 .demo-shopping .demo-shopping-body {}
1 <div class="demo-shopping demo-shopping-active">2 <h3 class="demo-shopping-title"></h3> 3 <p class="demo-shopping-content"></p><4 /div>但不要这样写(效率更低):
1 <div class="demo-box">2 <h3 class="demo-shopping-title demo-shopping-title-active"></h3>3 <p class="demo-shopping-content demo-shopping-content-active"></p>4 </div>
demo-tab
、demo-nav
,不要使用red
、left
等表象的词命名。{命名空间}-{模块名}-{状态描述}
常用状态有:hover, current, selected, disabled, focus, blur, checked, success, error 等{命名空间}-{模块名}-{子模块名}
常用模块名有:bd(body),cnt(content),hd(header),text(txt),img(images/pic),title,item,cell 等, 词义表达组件要实现的功能。1 <ul class="demo-nav">2 <li class="demo-nav-item">3 <a href="#">nav</a>4 <ul class="demo-subnav">5 <li class="demo-subnav-item">6 <a href="#">subNav</a>7 <ul class="demo-list">
在开发中养成一个好的习惯是非常重要的,每个开发人员都应该有自己的规范,希望通过此文对你以后的编码有所改变。如果你有更好的建议,可以补充。
新闻热点
疑难解答