Appearance
cx
Appearance
语义化是指根据内容的结构化(内容语义化),选择合适的标签(代 码语义化)。通俗来讲就是用正确的标签做正确的事情。
语义化的优点如下: 对机器友好,带有语义的文字表现力丰富,更适合搜索引擎的爬虫爬 取有效信息,有利于SEO。除此之外,语义类还支持读屏软件,根据文章可以自动生成目录; 对开发者友好,使用语义类标签增强了可读性,结构更加清晰,开发 者能清晰的看出网页的结构,便于团队的开发与维护。
常见的语义化标签:
<header></header>
头部
<nav></nav>
导航栏
<section></section>
区块(有语义化的div)
<main></main>
主要区域
<article></article>
主要内容
<aside></aside>
侧边栏
<footer></footer>
底部DOCTYPE是HTML5中一种标准通用标记语言的文档类型声明,它的目的是告诉浏览器(解析器)应该以什么样(html或xhtml)的文档类型定义来解析文档, 不同的渲染模式会影响浏览器对CSS代码甚⾄JavaScript脚本的解析。它必须声明在HTML⽂档的第⼀⾏。
浏览器渲染页面的两种模式(可通过document.compatMode获取,比如,语雀官网的文档类型是CSS1Compat):
CSS1Compat:标准模式(Strickmode),默认模式,浏览器使用W3C的标准解析渲染页面。 在标准模式中,浏览器以其支持的最高标准呈现页面。
BackCompat:怪异模式(混杂模式)(Quickmode),浏览器使用自己的怪异模式解析渲染页面。 在怪异模式中,页面以一种比较宽松的向后兼容的方式显示。
如果没有defer或async属性,浏览器会立即加载并执行相应的脚本。 它不会等待后续加载的文档元素,读取到就会开始加载和执行,这样就阻塞了后续文档的加载

其中蓝色代表js脚本网络加载时间,红色代表js脚本执行时间,绿 色代表html解析。
defer和async属性都是去异步加载外部的JS脚本文件,它们都不会阻塞页面的解析,其区别如下:
执行顺序:
行元素和块元素是HTML中的两种基本元素类型。块元素通常用于构建页面的主要结构,如标题、段落、列表等。 块元素会在页面上显示为一个矩形块,它会占据一整行,因此它们不能与其他元素共享同一行。 而行元素通常用于构建页面的辅助结构,如超链接、图像、按钮等。 行元素会在页面上显示为一个行内元素,它们可以与其他元素共享同一行。
在线的情况下,浏览器发现html头部有manifest属性,它会请求manifest文件,如果是第一次访问页面,那么浏览器就会根据manifest文件的内容下载相应的资源并且进行离线存储。 如果已经访问过页面并且资源已经进行离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的manifest文件与旧的manifest文件, 如果文件没有发生改变,就不做任何操作,如果文件改变了,就会重新下载文件中的资源并进行离线存储。离线的情况下,浏览器会直接使用离线存储的资源。
SVG可缩放矢量图形(ScalableVectorGraphics)是基于可扩展标记语言XML描述的2D图形的语言, SVG基于XML就意味着SVGDOM中的每个元素都是可用的,可以为某个元素附加Javascript事件处理器。 在SVG中,每个被绘制的图形均被视为对象。如果SVG对象的属性发生变化,那么浏览器能够自动重现图形。
其特点如下:
Canvas是画布,通过Javascript来绘制2D图形,是逐像素进行渲染的。其位置发生改变,就会重新进行绘制。
其特点如下:
注:矢量图,也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。矢量文件中的图形元素称为对象。 每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。
优点:
href (Hypertext Reference)指定网络资源的位置,从而在当前元素或者当前文档和由当前属性定义的需要的锚点或资源之间定义一个链接或者关系。 (目的不是为了引用资源,而是为了建立联系,让当前标签能够链接到目标地址。)
src source(缩写),指向外部资源的位置,指向的内容将会应用到文档中当前标签所在位置。
href与src的区别