1.语义化的背景:
以前的HTML的结构,基本上就是div+css然而,div并没有什么实际意义,全靠css示页面的样式,后来开发者提出了HTML结构的语义化,w3c也制定出了语义化标签 2.什么是语义化: 语义化就是构成HTML结构的标签要有意义,比如有这样的标签:head表示头部,main表示内容主体,footer表示页面底部那么这些标签构成的HTML结构就是语义化的如果头部,主体,底部都用div来表示,那么他就不是一个语义化的HTML结构了. 3.怎么知道页面结构是否语义化? 可以去掉css.看htm1代码的结构是否清晰,再看页面内容早现是否便干阅读: 4.为什么要语义化? 1.对于开发者来说,更加容易开发,阅读与维护; 2.对于爬虫,搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,有利于SEO; 3.对于浏览器来说,语义化的htm1结构更加清晰,更加方便解析: 4.对于用户,能提供更好的用户体验---是假如css加载失败,页面也能呈现出良好的结构,二是某些标签如label和有些标签属性 如alt.title能带来良好的用户体验:三是在特殊终端如视障阅读器中语义化的HTML可以早现良好的结构.
5.如何做到语义化? 1.用正确的标签做正确的事情,如尽量不使用样式标签b,font;强调文本放在strongem中不使用bi等;使用表格table时标题用 caption,表头用thead主体用tbody,尾部用tfoot,表头节点用th单元格用td;input标签通过id属性或for属性与label标签关联等等: 2.htm1语义化,css类名也要语义化; 3.htm15新增了一些语义化标签.如headerfooternayaside.article等等
6.不同标签之间的比较 title与h1的区别 定义:title是网站标题,h1是文章主题 作用:title概括网站信息,可以直接告诉搜索引擎和用户这个网站是关于什么主题和内容的,是显示在网页Tab栏里的;h1突出文章主题,面对用户,更突出其视觉效果,指向页面主体信息,是显示在网页中的。 b与strong的区别 定义:b(bold)是实体标签,用来给文字加粗,而strong是逻辑标签,作用是加强字符语气 区别:b标签只是加粗的样式,没有实际含义,常用来表达无强调或着重意味的粗体文字,比如文章摘要中的关键词、评测文章中的产品名称、文章的导言;而strong表示标签内字符重要,用以强调,其默认格式是加粗,但是可以通过CSS添加样式,使用别的样式强调。 建议:为了符合CSS3的规范,b应尽量少用而改用strong i与em的区别 定义:i(italic)是实体标签,用来使字符倾斜,而em(emphasis)是逻辑标签,作用是强调文本内容 区别:标签只是斜体的样式,没有实际含义,常用来表达无强调或着重意味的斜体,比如生物学名、术语、外来语(比如「de facto」这样的英语里常用的拉丁语短语);而em表示标签内字符重要,用以强调,其默认格式是斜体,但是可以通过CSS添加样式 建议:为了符合CSS3的规范,i应尽量少用而改用em 下面扩展一些其它的标签属性区别: img中的alt与title属性 alt属性是在你的图片因为某种原因不能加载时在页面显示的提示信息,它会直接输出在原本加载图片的地方 title属性是在你鼠标悬停在该图片上时显示一个小提示,鼠标离开就没有了,有点类似iQuery的hover src与href的区别 定义:href指定网络资源的位置建立链接或关系,用在link和a等元素上。src将外部咨源嵌入到当前标答所在位置,如img图片和is脚本等