HTML篇

135 阅读4分钟

img的title和alt有什么区别

alt是图片加载失败时,显式在网页上的替代文字(必填)
title是鼠标放在上面显式的文字

html5的特性

canvas画布;
video视频播放;
audio音频播放;
含语义化的标签:section, video, progress, nav, meter, time, aside, canvas,
command, datalist, details, embed, figcaption, figure, footer, header, 
hgroup, keygen, mark, output, rp, rt, ruby, source, summary, wbr;
表单控件(number、date、time、email...);
websocket(tcp长连接);
webworker(js多线程);
Geolocation(地理位置);

html 语义化的理解

HTML语义化就是让页面的内容结构化,便于对浏览器、搜索引擎解析;
搜索引擎的爬虫依赖于标记来确定上下文和各个关键字的权重,利于 SEO;
对用户很友好,用户可读性更强;

cookie、sessionStorage、localStorage

cookie是网站为了标示用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)

cookie数据始终在同源的http请求中携带(即使不需要),记会在浏览器和服务器间来回传递

sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存

存储大小**
cookie数据大小不能超过4k
sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大

有效时间**
localStorage 存储持久数据,浏览器关闭后数据不丢失除非主动删除数据
sessionStorage 数据在当前浏览器窗口关闭后自动删除
cookie 设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
IndexedDB: 是被正式纳⼊HTML5标准的数据库储存⽅案,它是NoSQL数据库,⽤键值对进⾏
储存,可以进⾏快 速读取操作,⾮常适合web场景,同时⽤JavaScript进⾏操作会⾮常⽅便。

meta标签的name属性值

name 属性主要用于描述网页,与之对应的属性值为contentcontent中的内容主要是便于搜索引擎机器人查找信息和分类信息用的。
meta标签的name属性语法格式是:<meta name="参数" content="具体的参数值">。
其中name属性主要有以下几种参数:
viewport(视口)说明:可以控制视⼝的⼤⼩和⽐例
Keywords(关键字)说明:keywords用来告诉搜索引擎你网页的关键字是什么。
description(网站内容描述) 说明:description用来告诉搜索引擎你的网站主要内容.
robots(机器人向导)说明:robots用来告诉搜索机器人哪些页面需要索引,哪些页面不需要索引。

src和href的区别

src是指向外部资源的位置,指向的内容会 嵌⼊到⽂档中当前标签所在的位置,在请求src资源时会将其指向的资源 下载并应⽤到⽂档内,如js脚本,img图⽚和frame等元素。当浏览器解析到该元素时,会暂停其他资源的下载和处 理,知道将该资源加载、编译、执⾏完毕,所以⼀般js脚本会放在底部⽽不是头部。
href是指向⽹络资源所在位置(的超链接),⽤来建⽴和当前元素或⽂档之间的连接,当浏览器识别到它他指向的 ⽂件时,就会并⾏下载资源,不会停⽌对当前⽂档的处理。

知道img的srcset的作⽤是什么?(追问)

可以设计响应式图⽚,我们可以使⽤两个新的属性srcset 和 sizes来提供更多额外的资源图像和提示,帮助浏览器选择 正确的⼀个资源  
srcset 定义了我们允许浏览器选择的图像集,以及每个图像的⼤⼩。  
sizes 定义了⼀组媒体条件(例如屏幕宽度)并且指明当某些媒体条件为真时,什么样的图⽚尺⼨是最佳选择。  
所以,有了这些属性,浏览器会: 查看设备宽度 检查 sizes 列表中哪个媒体条件是第⼀个为真 查看给予该媒体查询的槽⼤⼩ 加载 srcset 列表中引⽤的最接近所选的槽⼤⼩的图像 srcset提供了根据屏幕条件选取图⽚的能⼒  
<img  
  src="clock-demo-thumb-200.png"  
  alt="Clock"  
  srcset="clock-demo-thumb-200.png 200w, clock-demo-thumb-400.png 400w"  
  sizes="(min-width: 600px) 200px, 50vw">
  

script标签中defer和async的区别?

defer:浏览器指示脚本在⽂档被解析后执⾏,script被异步加载后并不会⽴刻执⾏,⽽是等待⽂档被解析完毕后执⾏  	
async:同样是异步加载脚本,区别是脚本加载完毕后⽴即执⾏,这导致async属性下的脚本是乱序的,对于script 有先后依赖关系的情况,并不适⽤

懒加载、预加载

懒加载也叫延迟加载,指的是在长网页中延迟加载图像  
预加载简单来说就是将所有所需的资源提前请求加载到本地,这样后面在需要用到时就直接从缓存取资源