CSS还未诞生之前,为了实现一些样式效果。设计师必须使用一些物理标签,例如font、b等。这样会造成页面中充满了为实现各种样式的标签,特别是使用table标签来实现一些特殊的布局,俗称为“标签汤”。为了修改页面的一个样式,可能要修改许多地方,这样的HTML代码极难维护。在这个阶段HTML不仅完成页面内容结构的构建,还要实现设计师所需要的样式,HTML可谓是负重难行。

这个阶段的HTML的代码,充斥着很多只为了实现页面样式而没有实际意思的标签。如果单纯去看HTML代码,根本无法弄清楚整个页面的逻辑结构。这个时候的页面是缺乏语义化的,就像我们学生时代写作文一样,很多标签都是辞不达意。我们现在可能看来当时的技术很烂,但是所有的事物都是从低级向高级不断成长的。我们需要通过了解技术更迭的历史,来了解HTML语义化的发展脉络。

以千禧年为分界线,前后大致分为WEB1.0和WEB2.0时代。在WEB1.0时代,网站的内容主要由网站的雇员生产编辑,他们拥有充分的技术使用HTML标签去完成页面效果。越过千禧年,整个互联网步入WEB2.0时代,互联网信息生产从网站转向广大的互联网用户。一方面,普通的网民大部分不具有熟练使用HTML的能力。另一方面,网站运营方以前的页面生产方式无法满足大量个性化页面的制作。恰逢其时,XHTML和CSS2.1诞生,两者结合使页面的结构和表现分离,非常大量生成个性化的页面。一套HTML代码,可能只需要改变一下CSS文件,就可以改变整个页面的样式。而不用像以前一样,为了修改页面的样式,需要到HTML代码中不断的去追根溯源修改标签。伴随着大量页面的产生,随之而来的是页面检索问题。如果还是按照以前的页面生产方式,页面源码中充斥着大量为了达成样式的无用标签,搜索引擎无法有效的分析这样的HTML结构,进而无法推荐这样的页面。而XHTML严格的标记语法,每对标记代表着内容本来意义,例如h标签就显示这是一个标题,摈弃了如font之类标签的HTML源码对搜索引擎更为友好,让搜索引擎对页面进行标记成为可能。

WEB2.0的到来,标识着每个网民真正成为互联网信息的发起者。良好的网页使用体验,需要每个互联网服务提供者去努力达成。HTML语义化从三个方面促进了互联网使用体验的升级:

  1. 提高页面加载速度。由于采用语义化的HTML标签并去除了很多无实际意义的标签。减小了网页的字节数,加快了HTTP传输传输速度。并且良好的HTML结构更加快了浏览器渲染引擎对页面进行渲染;
  2. 增强了页面的稳定性。良好并充满语义化的HTML结构更具稳定性,很少会因为缺少某个标签导致整个页面的样式混乱,这在table布局的时代是很容易产生的问题;
  3. 丰富了页面的样式。HTML的语义化相当于巩固了页面的机构,这有利于网站开发者编写独立于HTML文件的CSS样式文件。HTML负责内容语义,css负责样式表现。不仅提高了页面的开发速度,也提高了页面的可维护性。这也是网页设计师真正能够独立出来专业进行设计良好开端,进一步加快网页样式的迭代。

以上啰嗦都是这段时间阅读《精通CSS》的一点所思所想,我没有经历过那段用table布局的洪荒年代,但我对那个时代充满敬畏。没有以前的洪荒,怎会有现在的繁花似锦。table布局已死,table布局万岁。

HTML语义化罗嗦罗嗦的更多相关文章

  1. 关于HTML语义化的一些理解

    语义化这个词我想大家都看到了无数次,特别是在一些招聘广告上. 其实我自己也是,不过每次看到都觉得是那些招聘公司复制的,其实他们根本说不清语义化是什么,而且也根本不看重. 所以我一直也没把这东西当回事过 ...

  2. html5语义化标签使用规范

    Html5添加了很多语义化标签,一个典型的html5页面结构可以如下安排 一.使用案例 1. 头部——header和nav标签 header头部,body下的直接子元素header一般用于放页面的介绍 ...

  3. HTML5的新语义化的标签

    在HTML5之前采用HTML+CSS文档结构写法 [ID选择器说明 id选择器——用于标识页面上特定元素(比如站点导航.页眉.页脚)而且必须唯一; 也可以用来标识持久结构性元素(如主导航.内容区域)] ...

  4. 理解HTML语义化

    1.什么是HTML语义化? <基本上都是围绕着几个主要的标签,像标题(H1~H6).列表(li).强调(strong em)等等> 根据内容的结构化(内容语义化),选择合适的标签(代码语义 ...

  5. HTML 语义化之b_i_em_strong

    默认效果 i和em都是斜体.b和strong都是加粗. 语义区别: em 和 strong 分别表示句中强调和全局加重强调 搜索引擎中更受重视,一些语音阅读器也会根据它在阅读时加强语气. i 和 b ...

  6. 如何让你的JavaScript代码更加语义化

    语义化这个词在 HTML 中用的比较多,即根据内容的结构化选择合适的标签.其作用不容小觑: 赋予标签含义,让代码结构更加清晰,虽然我们可以在标签上添加 class 来标识,但这种通过属性来表示本体的形 ...

  7. 浅谈web语义化

    在前端的编程道路上,是否听过html的结构语义化? 是否觉得自己前端嘛,只要做出炫酷的效果,编写出牛逼的JavaScript代码就ok啦.div+css所向无敌,干嘛要用其他标签呢. 是啊,正如上面所 ...

  8. Html标签的语义化

    为了使我们的网站更好的被搜索引擎抓取收录,更自然的获得更高的流量,网站标签的语义化就显得尤为重要.所谓标签语义化,就是指标签的含义. 为了更好的理解标签的语义化,先看下面这个例子: 1 <tab ...

  9. 谈谈对HTML语义化的理解

    什么是HTML语义化? HTML标签可以分为有语义的标签,和无语义的标签.比如table表示表格,form表示表单,a标签表示超链接,strong标签表强调.无语义标签典型的有<div>, ...

随机推荐

  1. 第11课 - enum, sizeof, typedef 分析

    第11课 - enum, sizeof, typedef 分析 1. enum介绍 (1)enum是C语言中的一种自定义类型,和struct.union地位相同,格式如下: // enum每个值的最后 ...

  2. [LeetCode]69. x 的平方根(数学,二分)

    题目 https://leetcode-cn.com/problems/sqrtx 题解 方法一:牛顿迭代法 按点斜式求出直线方程(即过点Xn,f(Xn)),然后求出直线与x轴交点,即为Xn+1: 求 ...

  3. [程序员代码面试指南]栈和队列-最大值减去最小值 小于或等于num 的子数组的数量(单调队列)

    题目 给定数组arr和整数num,求数组的子数组中有多少个的满足"最大值减去最小值<=num". 解题思路 分析题目,有结论: 如果数组arr[i...j]满足条件,则它的每 ...

  4. 多图证明,Java到底是值传递还是引用传递?

    开篇先来曝答案,在 Java 语言中,本质只有值传递,而无引用传递,解释和证明详见正文. 说到值传递和引用传递我们不得不提到两个概念:值类型和引用类型. 1.值类型 通俗意义上来说,所谓的值类型指的就 ...

  5. CAS导致的ABA问题以及解决方案

    CAS算法实现一个重要前提需要取出内存中某时刻的数据,而在下时刻比较并替换,那么在这个时间差类会导致数据的变化. 上篇文章讲到CAS会出现一个ABA问题.那什么是ABA问题呢? 官方一点的解释就是:当 ...

  6. Python接口自动化测试01

    1)环境准备: 接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,工具的使用相对来说都比较简单,重点是要搞清楚项目接口的协议是什么,然后有针对性的 ...

  7. 永远不要在代码中使用“User”这个单词

    ​ 当你意识到你在项目开始时做的轻量.简单的设想竟然完全错了时,你已经用了六个月的时间投入到这个项目上.现在你需要解决这些问题,才能让这个系统继续运行下去,你发现你用在这个项目上的精力远远超出了你的预 ...

  8. Android开发中导入第三方库所遇问题记录

    1.重复循环依赖的问题 (1)需求 如下图所示: 在Android 项目中,采用模块化开发,一个是主跑application--Mudule A,另外一个是library--Library B 1)M ...

  9. brew清华镜像

    https://mirror.tuna.tsinghua.edu.cn/help/homebrew/

  10. (转载)Tomcat 7集群浅析

    本文转载自:http://blog.csdn.net/wangyangzhizhou. 如有侵权,请联系处理!   简介 每个节点都要维护一份集群节点信息列表,集群组通知的默认实现是在使用 UDP 数 ...