您的位置:首页 » 分类: HTML+CSS » 文章: 语义化的HTML结构到底有什么好处?

语义化的HTML结构到底有什么好处?

小编推荐:掘金是一个高质量的技术社区,从 ECMAScript 6 到 Vue.js,性能优化到开源类库,让你不错过前端开发的每一个技术干货。各大应用市场搜索「掘金」即可下载APP,技术干货尽在掌握..

相信大家都知道html和css,知道html结构和css表现分离,知道html语义化,这些都是这几年的热门关键字。语义化的html在国内也是一两年前才开始被追捧的,看看现在群里谈论的html结构,关于html结构的面试题,语义化的html占据了很大一部分。那么为什么要使用语义化的HTML?语义化的HTML到底有什么好处呢?

HTML是提供网页文档内容的上下文结构和含义;html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗;<strong>是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以首先我们要知道html和页面的表现是没有关系的,这些是css的事情。HTML在页面中的作用就是结构和含义,通俗点说就是划分内容,这里放什么,我们放的是什么。(转载请注明出处:WEB前端开发 http://www.css88.com/)

语义化的HTML结构首先要强调HTML结构

HTML结构是页面的骨架,一个页面就好像一幢房子,HTML结构就是钢精钢筋混泥土的墙,一幢房子如果没有钢精钢筋混泥土的墙那就是一堆费砖头,不能住人,不能办公。css是装饰材料,是原木地板,是大理石,是油漆,是用来装饰房子的,CSS的强大就不用多说了,css如果没有html结构那就是一堆木板,一同油漆,没有了实际使用价值。CSS完全依靠引用它的(X)HTML文档。如果你想使CSS的能力充分发挥到极致,提供一个用既干净又有结构的内容的html是非常必要的,“HTML是在互联网上发布超文本的通用语……HTML使用标签来对文本结构化”(http://www.w3.org/MarkUp/)。

语义化的HTML结构怎么写?
HTML是一种对文本内容进行结构和意义(或者说“语义”)进行补充的方法。它会告诉我们说:“这行是一个标题,这几行组成了一个段落。这些文字是项目列表,这些文字是链接到互联网上另一个文件的超链接。”值得注意的是,不应该让HTML来告诉我们:“这些文字是蓝色的,这些文字又是红色的。这部分内容是最最靠右的一栏,这行内容是斜体字。”这些和表现相关的信息是CSS的工作。在做前端开发的时候要记住:HTML告诉我们一块内容是什么(或其意义),而不是它长的什么样子。当我们提到“语义标记”的时候,我们所说的HTML应该是完全脱离表现信息的,其中的标签应该都是语义化地定义了文档的结构。

写语义化的HTML结构其实很简单,首先掌握html中各个标签的语义,<div>是一个容器;<strong>是表示强调;<ul><li>是一个无序列表等等…在看到内容的时候想想用什么标签能更好的描述它,是什么就用什么标签。(转载请注明出处:WEB前端开发 http://www.css88.com/)

语义化的HTML结构到底有什么好处?
我们知道HTML5新增的标签,比如<header>和<footer>,html正在朝着更加健壮的语义化的HTML结构发展,xhtml2在这点上没html5先进,这也是xhtml2死亡的一个原因,这一点也说明了语义化的HTML结构是html的发展趋势。
1.去掉或样式丢失的时候能让页面呈现清晰的结构:
html本身是没有表现的,我们看到例如<h1>是粗体,字体大小2em,加粗;<strong>是加粗的,不要认为这是html的表现,这些其实html默认的css样式在起作用,所以去掉或样式丢失的时候能让页面呈现清晰的结构不是语义化的HTML结构的优点,但是浏览器都有有默认样式,默认样式的目的也是为了更好的表达html的语义,可以说浏览器的默认样式和语义化的HTML结构是不可分割的。

2.屏幕阅读器(如果访客有视障)会完全根据你的标记来“读”你的网页.

例如,如果你使用的含语义的标记,屏幕阅读器就会“逐个拼出”你的单词,而不是试着去对它完整发音.

3.PDA、手机等设备可能无法像普通电脑的浏览器一样来渲染网页(通常是因为这些设备对CSS的支持较弱).
使用语义标记可以确保这些设备以一种有意义的方式来渲染网页.理想情况下,观看设备的任务是符合设备本身的条件来渲染网页.

语义标记为设备提供了所需的相关信息,就省去了你自己去考虑所有可能的显示情况(包括现有的或者将来新的设备).例如,一部手机可以选择使一段标记了标题的文字以粗体显示.而掌上电脑可能会以比较大的字体来显示.无论哪种方式一旦你对文本标记为标题,您就可以确信读取设备将根据其自身的条件来合适地显示页面.

4.搜索引擎的爬虫也依赖于标记来确定上下文和各个关键字的权重.

过去你可能还没有考虑搜索引擎的爬虫也是网站的“访客”,但现在它们他们实际上是极其宝贵的用户.没有他们的话,搜索引擎将无法索引你的网站,然后一般用户将很难过来访问.

5.你的页面是否对爬虫容易理解非常重要,因为爬虫很大程度上会忽略用于表现的标记,而只注重语义标记.
因此,如果页面文件的标题被标记,而不是,那么这个页面在搜索结果的位置可能会比较靠后.除了提升易用性外,语义标记有利于正确使用CSS和JavaScript,因为其本身提供了许多“钩钩”来应用页面的样式与行为.
SEO主要还是靠你网站的内容和外部链接的。(转载请注明出处:WEB前端开发 http://www.css88.com/)

6.便于团队开发和维护

W3C给我们定了一个很好的标准,在团队中大家都遵循这个标准,可以减少很多差异化的东西,方便开发和维护,提高开发效率,甚至实现模块化开发

如有不同观点,补充,欢迎留言讨论。

感谢鬼哥,奶茶,小志,偷米饭,Caspar还有css森林群的讨论

正文完。下面还有一个推广让最好的人才遇见更好的机会!

互联网行业的年轻人,他们面对着怎样的职业瓶颈、困惑与未来选择?过去,这鲜有人关心。资深的职场人,也多半优先选择熟人去推荐机会。

100offer致力于改变现状,帮互联网行业最好的人才发现更好的机会。使用 100offer.com 或 100offer App ,可以一周内获得中国、美国等数千家优质企业的工作机会。

马上去遇见更好的机会
推广结束

关注WEB前端开发官方公众号

关注国内外最新最好的前端开发技术干货,获取最新前端开发资讯,致力于打造高质量的前端技术分享公众号

40 条评论 - 关于 “语义化的HTML结构到底有什么好处?

  1. 其实在关注用户体验的web2.0时代,我们也应该考虑非正常人群的web使用体验,在未来出来的阅读器不只是读取内容,可能还会根据用户喜好来筛选内容,这里的语义化的重要性就体现的非常明显,而这个可能性也是很大的.相信不久的将来就会出现,那时候,我们对语义化的理解是否还要有新的认识呢?也许,我们要站在未来的角度看问题,这是我们前端的责任.而不是等时候到了,我们再去研究国外的文献,再跟着他们的步伐走….

  2. 语义话 其实有个最大的好处 就是省事!

    1.别人看省事(便于维护)

    2.浏览器看省事(一个标签搞定不用这么多嵌套 id css)

    3.css命名省事(经常要为这个div想要取什么名字。。。)

    缺点!比以前要记的多了 哈哈

  3. 其实这些东西除了那些爬虫,就只有我们知道了。。。
    所以需要做的是将符合语义化的结构让更多人知道,让更多人重视,也提升下前端开发者的地位。。。

  4. 总结得不错,条理很清晰,在大伙都在怀疑语义化,或对语义化模糊不理解,乃致认为它是个鸡肋时,应读一下,深入理解一下..
    “科学家”与”工程师”这条路,自己去权衡..

  5. xhtml作为html到xml的过渡, 在将来可能会承载更多的责任, 比如不同应用或者数据之间的数据交换. 微格式就是一列, 可以很方便的把页面上显示的联系信息作为名片导入到移动设备中, 如果不遵循良好的语义, 这种事情怎么可能发生呢. 我们可以在页面中加入自己经纬度的坐标, 别人很方便就可以在google map定位… 这一切都是基于应用可以正确解读你代码的语义. 所以构建语义网是web强大的地方之一.

  6. 不是專業人士,根本不會理會 語義 這個東西,而在現實工作當中,大部份的上級只要能出效果就行,[strong], [b] 和 [font-weight:bold]對於他們來說,是無差别。
    還好,“對搜索引擎友好”——有這點,可以撑一下。不過,當他知道SEO喜歡[strong]多過喜歡[b],那麽就會要你大量使用的了。就像使用兩個[H1]一樣

  7. 現在只能期待,樓上Robin所說的情況,快點到來。不然真的要讓瀏覽者查看源代碼? 或是 找台屏幕閲讀器來測試?

  8. 我早之前有些过一篇文章,或许可以看看http://www.g9net.com/2009/06/28/related-to-the-semantic-web-front-end-of.html

  9. html语义化琢磨了很长时间不知道应该怎么说,这回知道了,我个人认为,一个好的html结构,可阔宽性应该是重点,任何设计都可以用CSS来实现。

  10. 别人看省事(便于维护)这个才是王道.
    什么手机,什么盲人设备,都是扯淡,术业有专攻.

发表评论

电子邮件地址不会被公开。 必填项已用*标注