HTML语义化罗嗦罗嗦
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语义化从三个方面促进了互联网使用体验的升级:
- 提高页面加载速度。由于采用语义化的HTML标签并去除了很多无实际意义的标签。减小了网页的字节数,加快了HTTP传输传输速度。并且良好的HTML结构更加快了浏览器渲染引擎对页面进行渲染;
- 增强了页面的稳定性。良好并充满语义化的HTML结构更具稳定性,很少会因为缺少某个标签导致整个页面的样式混乱,这在table布局的时代是很容易产生的问题;
- 丰富了页面的样式。HTML的语义化相当于巩固了页面的机构,这有利于网站开发者编写独立于HTML文件的CSS样式文件。HTML负责内容语义,css负责样式表现。不仅提高了页面的开发速度,也提高了页面的可维护性。这也是网页设计师真正能够独立出来专业进行设计良好开端,进一步加快网页样式的迭代。
以上啰嗦都是这段时间阅读《精通CSS》的一点所思所想,我没有经历过那段用table布局的洪荒年代,但我对那个时代充满敬畏。没有以前的洪荒,怎会有现在的繁花似锦。table布局已死,table布局万岁。
HTML语义化罗嗦罗嗦的更多相关文章
- 关于HTML语义化的一些理解
语义化这个词我想大家都看到了无数次,特别是在一些招聘广告上. 其实我自己也是,不过每次看到都觉得是那些招聘公司复制的,其实他们根本说不清语义化是什么,而且也根本不看重. 所以我一直也没把这东西当回事过 ...
- html5语义化标签使用规范
Html5添加了很多语义化标签,一个典型的html5页面结构可以如下安排 一.使用案例 1. 头部——header和nav标签 header头部,body下的直接子元素header一般用于放页面的介绍 ...
- HTML5的新语义化的标签
在HTML5之前采用HTML+CSS文档结构写法 [ID选择器说明 id选择器——用于标识页面上特定元素(比如站点导航.页眉.页脚)而且必须唯一; 也可以用来标识持久结构性元素(如主导航.内容区域)] ...
- 理解HTML语义化
1.什么是HTML语义化? <基本上都是围绕着几个主要的标签,像标题(H1~H6).列表(li).强调(strong em)等等> 根据内容的结构化(内容语义化),选择合适的标签(代码语义 ...
- HTML 语义化之b_i_em_strong
默认效果 i和em都是斜体.b和strong都是加粗. 语义区别: em 和 strong 分别表示句中强调和全局加重强调 搜索引擎中更受重视,一些语音阅读器也会根据它在阅读时加强语气. i 和 b ...
- 如何让你的JavaScript代码更加语义化
语义化这个词在 HTML 中用的比较多,即根据内容的结构化选择合适的标签.其作用不容小觑: 赋予标签含义,让代码结构更加清晰,虽然我们可以在标签上添加 class 来标识,但这种通过属性来表示本体的形 ...
- 浅谈web语义化
在前端的编程道路上,是否听过html的结构语义化? 是否觉得自己前端嘛,只要做出炫酷的效果,编写出牛逼的JavaScript代码就ok啦.div+css所向无敌,干嘛要用其他标签呢. 是啊,正如上面所 ...
- Html标签的语义化
为了使我们的网站更好的被搜索引擎抓取收录,更自然的获得更高的流量,网站标签的语义化就显得尤为重要.所谓标签语义化,就是指标签的含义. 为了更好的理解标签的语义化,先看下面这个例子: 1 <tab ...
- 谈谈对HTML语义化的理解
什么是HTML语义化? HTML标签可以分为有语义的标签,和无语义的标签.比如table表示表格,form表示表单,a标签表示超链接,strong标签表强调.无语义标签典型的有<div>, ...
随机推荐
- python2与python3同时安装
安装步骤: 下载 1.第一步先下载python2和python3的安装包,下载地址:https://www.python.org/downloads/windows/ 下载之后,分别给python2和 ...
- 1. QCamera2基础组件——cam_semaphore
/* Copyright (c) 2012, The Linux Foundation. All rights reserved. * * Redistribution and use in sour ...
- shell变量操作${}详细用法
${}基本功能 一般情况下$var与${var}是没有区别的,但是用${ }会比较精确的界定变量名称的范围 [root@localhost ~]# A=Linux [root@localhost ~] ...
- Docker日志管理–docker部署安装ELK (十一)
Docker logs 对于一个运行的容器,Docker 会将日志发送到 容器的 标准输出设备(STDOUT)和标准错误设备(STDERR),STDOUT 和 STDERR 实际上就是容器的控制台终端 ...
- vue-router-next 通过hash模式访问页面不生效,直接刷新页面一直停留在根路由界面的解决办法
vue3中,配合的vueRouter版本更改为vue-router-next通过 npm i vue-router@next 的方式进行引入添加,随后创建 router.js,在main.js里面引入 ...
- Class对象、反射、动态代理
Class对象是所有类的根源,Object是所有对象的根源. 编译后的新类会产生一个Class对象,保存在同名的.class文件中.每个类都有一个Class对象,它包含了所有的与类有关的信息.所有的C ...
- 栈帧的内部结构--局部变量表(Local Variables)
每个栈帧中包含: 局部变量表(Local Variables) 操作数栈(Opreand Stack) 或表达式栈 动态链接 (Dynamic Linking) (或指向运行时常量的方法引用) 动态返 ...
- 趣图:后端工程师做 UI 的活
扩展阅读 趣图:苦逼的后端工程师 趣图:前端 VS 后端 [趣图]开发人员腹黑的一面
- synchronized和lock的作用与对比
一.synchronized的作用 synchronized是java中的一个关键字,用于线程同步.1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象 ...
- Kubernetes K8S之存储Secret详解
K8S之存储Secret概述与类型说明,并详解常用Secret示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 ...