深入理解Web标准(网站标准)
2016-01-12 13:38
363 查看
原文链接:http://www.2cto.com/kf/201403/284171.html
我觉得一名Web前端应该好好理解Web标准到底是什么,为什么要在我们的实际实践中遵循Web标准。
什么是Web标准。百度百科的解释是:
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
(url:http://baike.baidu.com/link?url=-XC1...)
其他网站也有很多解释,这里不作过多赘述。我觉得我们遵循Web标准的目的不是为了标准而标准,不是因为它是这么要求的我们才去这么做。一名优秀的Web前端,应该是Write less,do more。就是用更少的代码,做更多的事。所以我觉得我们遵循Web标准的目的应该是让我们的代码效率更高更好,只有本着这个态度去理解Web标准才能体会其深入的内涵。
下面具体谈谈Web标准。我在网上看到的一道yahoo的面试题。题目是:
有这么一段html代码,请指出代码中的毛病。
<P> 我写的不是HTML代码,是寂寞。<br><br> 我说:<br>不要迷恋哥,哥只是一个传说
在这段代码当中,第一眼看上去没有明显的语法错误。是的,在html 4.01 strict下是完全正确的,但是在Web标准下,就是xhtml 1.0 strict下就是错误的,不合乎规范。xhtml有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。所以,代码中的<P>要匹配一个</p>,<br>要改成<br/>,其次所有标签必须小写,所以<P>也是错误的,要改成<p>;最后 空格符必须包含在容器当中,也是错误的。
(考点1.html 4.01与Web标准xhtml 1.0的差别)
起初,我以为如果能回答到上面所说的错误基本能拿满分了,其实不然,回答完上面的只能及格。Web标准要求的结构与表现分离,而考题当中运用了 控制缩进,是错误的,我们应该应用Css来控制文本的缩进,所以 应该删掉。
(考点2.结构与表现分离)
最后,还有一处错误,题目当中连续使用两个<br>来制造了两个段落,<br>是强制折行标签,这样做确实达到了两个段落的效果,但是后期段间距不易控制,我们应该合理运用标签。所以正确的做法是我们应该应用两个<p>标签来表示两个段落。
(考点3.合理运用标签)
所以,在xhtml标准下,正确的修改应该是:
<p>我写的不是HTML代码,是寂寞。</p><p>我说:<br/>不要迷恋哥,哥只是一个传说</p>
这样就完美了吗?不是,还有加分点,为了更符合Web标准,我们应该适当的的运用标签语义化(关于什么是标签语义化,可移步:http://www.cnblogs.com/coco1s/p/3583082.html,我的上一篇博文,也是Web标准的一部分)。也就是“我"说的话,可以用<q>标签标注。
<p>我写的不是HTML代码,是寂寞。</p><p>我说:<br/><q>不要迷恋哥,哥只是一个传说</q></p>
这样就足够了,标签语义化也应该合理的运用,过分使用也会显得太画蛇添足。当然,如果还要添加,“我”字可以用<cite>标注,“HTML”可以用<abbr>标注:
<p><cite>我</cite>写的不是<abbr title=”Hyper Text Markup Language”>HTML</abbr>代码,是寂寞。</p><p><cite>我</cite>说:<br/><q>不要迷恋哥,哥只是一个传说</q></p>
(加分点:标签语义化)
综上,我们使用Web标准去编写代码,就像我前面说的,目的是write less,do more。我们的代码更加规范,更加合乎标准,我们的页面就更容易被搜索引擎抓取收录。
我觉得一名Web前端应该好好理解Web标准到底是什么,为什么要在我们的实际实践中遵循Web标准。
什么是Web标准。百度百科的解释是:
WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTML和XML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。
(url:http://baike.baidu.com/link?url=-XC1...)
其他网站也有很多解释,这里不作过多赘述。我觉得我们遵循Web标准的目的不是为了标准而标准,不是因为它是这么要求的我们才去这么做。一名优秀的Web前端,应该是Write less,do more。就是用更少的代码,做更多的事。所以我觉得我们遵循Web标准的目的应该是让我们的代码效率更高更好,只有本着这个态度去理解Web标准才能体会其深入的内涵。
下面具体谈谈Web标准。我在网上看到的一道yahoo的面试题。题目是:
有这么一段html代码,请指出代码中的毛病。
<P> 我写的不是HTML代码,是寂寞。<br><br> 我说:<br>不要迷恋哥,哥只是一个传说
在这段代码当中,第一眼看上去没有明显的语法错误。是的,在html 4.01 strict下是完全正确的,但是在Web标准下,就是xhtml 1.0 strict下就是错误的,不合乎规范。xhtml有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个"/"来关闭它。所以,代码中的<P>要匹配一个</p>,<br>要改成<br/>,其次所有标签必须小写,所以<P>也是错误的,要改成<p>;最后 空格符必须包含在容器当中,也是错误的。
(考点1.html 4.01与Web标准xhtml 1.0的差别)
起初,我以为如果能回答到上面所说的错误基本能拿满分了,其实不然,回答完上面的只能及格。Web标准要求的结构与表现分离,而考题当中运用了 控制缩进,是错误的,我们应该应用Css来控制文本的缩进,所以 应该删掉。
(考点2.结构与表现分离)
最后,还有一处错误,题目当中连续使用两个<br>来制造了两个段落,<br>是强制折行标签,这样做确实达到了两个段落的效果,但是后期段间距不易控制,我们应该合理运用标签。所以正确的做法是我们应该应用两个<p>标签来表示两个段落。
(考点3.合理运用标签)
所以,在xhtml标准下,正确的修改应该是:
<p>我写的不是HTML代码,是寂寞。</p><p>我说:<br/>不要迷恋哥,哥只是一个传说</p>
这样就完美了吗?不是,还有加分点,为了更符合Web标准,我们应该适当的的运用标签语义化(关于什么是标签语义化,可移步:http://www.cnblogs.com/coco1s/p/3583082.html,我的上一篇博文,也是Web标准的一部分)。也就是“我"说的话,可以用<q>标签标注。
<p>我写的不是HTML代码,是寂寞。</p><p>我说:<br/><q>不要迷恋哥,哥只是一个传说</q></p>
这样就足够了,标签语义化也应该合理的运用,过分使用也会显得太画蛇添足。当然,如果还要添加,“我”字可以用<cite>标注,“HTML”可以用<abbr>标注:
<p><cite>我</cite>写的不是<abbr title=”Hyper Text Markup Language”>HTML</abbr>代码,是寂寞。</p><p><cite>我</cite>说:<br/><q>不要迷恋哥,哥只是一个传说</q></p>
(加分点:标签语义化)
综上,我们使用Web标准去编写代码,就像我前面说的,目的是write less,do more。我们的代码更加规范,更加合乎标准,我们的页面就更容易被搜索引擎抓取收录。
相关文章推荐
- 1号店11.11:从应用架构落地点谈高可用高并发高性能--转载
- ZooKeeper架构设计及其应用要点
- 基于Dubbo框架构建分布式服务
- 大型网站架构不得不考虑的10个问题
- 秒杀系统架构分析与实战
- FFmpeg架构之I/O模块分析
- 细说五层网站架构
- 百万级访问网站前期的技术准备
- gizp网站压缩
- web网站加速之CDN(Content Delivery Network)技术原理学习
- 应用之星网站改版,参与问卷赢手机
- Latex相关网站
- 基于订阅的服务通讯架构体系
- 基于订阅的服务通讯架构体系
- 全Javascript的Web开发架构:MEAN和Yeoman
- extjs 架构图
- 从零开始搭建架构实施Android项目
- Everything软件的Voidtools网站暂时被黑客占领
- 免费GIS数据下载网站推荐
- 一、REST架构风格: