博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
从浏览器渲染的角度谈谈html标签的语义化
阅读量:6246 次
发布时间:2019-06-22

本文共 827 字,大约阅读时间需要 2 分钟。

大家都看过报纸或者杂志的排版,里面最主要的一些概念,就是版面的分割,标题的分级等等,web页面作为一种信息展示的形式,其基本的排版形式是从报纸杂志等传统媒介借鉴过来的,看一看html一些常用的tag就可以知道,比如h1-h6,p,img等等。
 
html的语义化从字面的意思来看,就是你选用的tag要尽可能的符合它适用的场景。为什么要语义化呢?可以从浏览器开始说起,报纸和杂志作为信息的载体是通过印刷机将其呈现在大众面前的,同理html是通过浏览器的界面将其展现在用户面前的。html页面展现在我们面前主要经过一下几个步骤:
1、在地址栏输入url发起请求获取
2、服务器分返回html页面
3、浏览器解析html页面
4、浏览器渲染html页面
 
只有到了第4步,一个html页面才真真整整的呈现在用户的面前。
 
大家在用表单的时候,可能会注意到,type为text的input,即使不设置样式,它在浏览器中呈现的出的也是一个有边框,背景为白色的矩形框,感兴趣的可以看看textarea,select等等。为什会这样?
 
以chrome为例,大家都知道webkit,同时一定也听过V8引擎,在这里要澄清一下,webkit是开源的浏览器渲染引擎,而V8是javascript的解析引擎。这里主要说一下,浏览器在收到服务器返回的html页面之后,首先将html解析成DOM树,然后再利用css的信息结合DOM树,生成一个渲染树,然后浏览器再通过自己的UI后端组件调用操作系统的绘图接口在浏览器窗口依据渲染树的信息绘制相应的图形,因此在window窗口就能看到input,textarea的默认样式了。
 
了解浏览器对于html页面的解析绘制的过程之后,我们知道了浏览器的渲染引擎对于特定的标签都有默认的绘图样式,使用非语义的tag会无端增加浏览器在页面渲染阶段的压力。

转载于:https://www.cnblogs.com/chile/p/4290184.html

你可能感兴趣的文章
c++运算符重载
查看>>
Advanced Auto Layout:Size-Class-Specific Layout
查看>>
给SVN或者TortoiseSVN设置代理的方法
查看>>
无法打开项目文件web.csproj,此安装不支持该项目类型
查看>>
C++ function/bind
查看>>
ASP.NET MVC4 Forms 登录验证
查看>>
windows和ubuntn互传文件
查看>>
vue router mode 设置"hash"与"history"的区别
查看>>
dotnet --info
查看>>
运算符优先级
查看>>
接口测试-python
查看>>
python使用hbase
查看>>
我太水了~
查看>>
Mysql-proxy中的lua脚本编程(一)
查看>>
SY-SUBRC 的含义【转】
查看>>
仓库管理系统用例建模
查看>>
转换数字为人民币大写金额
查看>>
Python爬虫之爬取西刺免费IP并保存到MySQL
查看>>
PostgreSQL的进程结构
查看>>
[HBase_2] HBase数据模型
查看>>