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. Spring AOP-用代理代替繁琐逻辑

    Spring AOP 基础概念 AOP 是一种面向切面的编程思想,通俗来讲,这里假如我们有多个方法. @Component public class Demo { public void say1() ...

  2. 串(string)

    题目描述 给定一个由小写字母组成的字符串s,每次你可以删去它的一个非回文子串, 求删成空串的最小次数. 输入输出格式 输入格式: 第一行一个整数 t 表示数据组数. 每组数据第一行一个整数 n表示字符 ...

  3. 在windows下使用pip安装python包遇到缺失stdint.h文件的错误

    今天在windows上使用pip安装一个python包python-lzf时遇到如下的错误: fatal error C1083: Cannot open include file: 'stdint. ...

  4. Shiro框架--将Shrio的session改成HTTPSession数据

    重写 FormAuthenticationFilter类 的 onLoginSuccess()方法即可 import javax.servlet.ServletRequest; import java ...

  5. C# NX二次开发环境搭建

    在网上看到一篇C#二次开发环境搭建的文章:NX二次开发-使用NXOPEN C#手工搭建开发环境配置 ,写得非常好.我按照文章操作,过程中遇到几个问题,把问题分享给大家,希望对各位有帮助. 注意三点: ...

  6. Flutter音频播放--chewie_player的基本使用(二)——样式修改

    先贴修改图,只改了部分布局与样式 官方的demo并不十分适合我的需求,从组件进入chewie_player并没有查看到相应的布局,那么直接从chewie的依赖包进入 可以看到以下的目录结构: 我主要修 ...

  7. 聊聊经典数据结构HashMap,逐行分析每一个关键点

    本文基于JDK-8u261源码分析 本文原创首发于 奇客时间(qiketime) 1 简介 HashMap是一个使用非常频繁的键值对形式的工具类,其使用起来十分方便.但是需要注意的是,HashMap不 ...

  8. 使用VMware虚拟机安装RHEL7(RedHat Enterprise Linux7)步骤

    准备工具: 1.VMware Workstation 14 2.RedHat Enterprise Linux 7.0镜像文件 在虚拟机内设置操作系统的硬件标准 单击"创建新的虚拟机&quo ...

  9. 【SCOI2016】背单词

    P3294[SCOI2016]背单词 [提示] 这道题大概是告诉我们,让我们用一堆n个单词安排顺序,如果当前位置为x,当前单词的后缀没在这堆单词出现过,代价就为x,这里的后缀是原意,但不算自己(不算本 ...

  10. 注册表“CLSID”下面的“InprocServer32”子键是什么?

    这个键值有什么用?每个CLSID下基本都有,即使没有其它项也会有此项.谁能详细说下,"InprocServer32"子键起什么作用?谢了. 刚好遇到这问题了,这是我找到的:Inpr ...