无论多少人开发一个项目,规范是最初始也是最基本的,一个好的规范不仅让代码看起来完美也能够解决冲突。下面是我在开发时使用的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">
在开发中养成一个好的习惯是非常重要的,每个开发人员都应该有自己的规范,希望通过此文对你以后的编码有所改变。如果你有更好的建议,可以补充。
新闻热点
疑难解答