第一部分,什么是语义化?其实简单说来就是让机器能够读懂内容。css
Web语义化是指使用语义恰当的标签,使页面有良好的结构,页面元素有含义,可以让人和搜索引擎都容易理解。html
第二部分,web语义化的做用git
1)利于机器识别,方便SEO;github
2)代码简洁明了,利于阅读和维护,方便之后扩展web
3)利于团队协做,减小出错概率,使工做有个统一标准;浏览器
一、 首先要知道Web中的经常使用标签有哪些,知道每一个标签的具体含义和应用场合。这些知识网上有不少资料,好比 菜鸟教程 和 w3cSchool 。这里补充一下, Code Guide 上有很全面的代码书写规范,建议你们也去看看 app
2. 其次,本身多实践。在敲代码的时候,多想一想每一个地方的结构是否都符合Web语义化。在练习中不断加深对Web语义化的理解和应用。 ide
3. 最后,多去模仿一些网站的代码,看看别人设计的代码是如何作到Web语义化的,多吸收别人的经验和方法。布局
1.)尽量少的使用无语义的标签div和span;优化
2.)在语义不明显时,既可使用div或者p时,尽可能用p, 由于p在默认状况下有上下间距,对兼容特殊终端有利;
3.)不要使用纯样式标签,如:b、font、u等,改用css设置。
4.)须要强调的文本,能够包含在strong或者em标签中(浏览器预设样式,能用CSS指定就不用他们),strong默认样式是加粗(不要用b),em是斜体(不用i);
5.)使用表格时,标题要用caption,表头用thead,主体部分用tbody包围,尾部用tfoot包围。表头和通常单元格要区分开,表头用th,单元格用td;
6.)表单域要用fieldset标签包起来,并用legend标签说明表单的用途;
7.)每一个input标签对应的说明文本都须要使用label标签,而且经过为input设置id属性,在lable标签中设置for=someld来让说明文本和相对应的input关联起来。
8)图片加alt属性 宽 高
9)a连接加title属性
第五部分,CSS类命名的语义化VS结构化方式
通常而言,CSS类名的语义化声明方式应当考虑你的页面中某个相对元素的”用意”,独立于它的”定位”或确切的特性(结构化方式)。像left-bar, red-text, small-title…这些都属于结构化定义的例子。
让咱们看看下面这个例子:
…而如今咱们想把页面中的元素调换一下位置,若是你使用的是结构化方式(1),那么你就要把全部CSS类名从新进行定义,由于它们的位置变了。在布局(3)中,咱们看到元素都倒转了: right-bar 如今成了 “left-bar”,而 left-content 成了 “right-content”。若是你使用语义化方式则避免了此类问题。
换句话说,使用语义化方式的话,你在修改网站布局的时候能够仅仅修改相关CSS类的属性便可,而不用修改它们的类名了,若是网站的代码很庞大,这将节省大量的时间。
在开始以前,我想推荐两种简单的编写较好的CSS代码的指导方针:
<div class=”main”>
<div class=”main-title”>…</div>
<div class=”main-paragraph”>…</div>
</div>
而要这样写:
<div class=“main”>
<h1>…</h1>
<p>…</p>
</div>
让咱们来经过这个简单的例子讲解一下如何为经典的三栏布局使用语义化方式命名:
使用语义化方式为CSS命名能够像这样:
#container{…}
/*—- Top section —-*/
#header{…}
#navbar{…}
/*—- Main —-*/
#menu{…}
#main{…}
#sidebar{…}
/*—- Footer —-*/
#footer{…}