src和href的区别
src用于替换当前元素,href用于在当前文档和引用资源之间确定联系。
src是source的缩写,指向外部资源的位置,指向的内容将会嵌入到文档中当前的标签所在位置;在请求src资源时会将其指向的资源下载并应用到文档中,例如script、img、iframe。src是同步加载并执行。
href指向网络资源所在的位置,建立和当前元素或者当前文档之间的链接,通常用于 link、a,href是异步加载,所以不会停止执行其他代码,这也是为什么我们通常使用link方式来加载css。
HTML语义化有什么好处
语义化的优点如下;
- 对机器友好,适合搜索引擎的爬虫爬取有效信息,有利于SEO。
- 对开发者友好,使用语义化标签增强了可读性,结构更加清晰,开发者能清晰的看出网页结构,便于团队的开发和维护。
常见的语义化标签有
- header - 头部
- nav - 导航栏
- section - 区块 (有语义化的div)
- main - 主要区域
- article - 主要内容
- aside - 侧边栏
- footer - 底部
script 标签中的defer 和 async 的区别
defer 和 async 属性都是异步去加载外部的js脚本文件,他们都不会阻塞页面解析。
defer与async的区别是:前者要等到整个页面正常渲染结束,才会执行;后者一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。defer是“渲染完再执行”,async是“下载完就执行”。另外,如果有多个defer脚本,会按照它们在页面出现的顺序加载,而多个async脚本是不能保证加载顺序的
img的srcset属性的作用?
实现响应式图片。在指定的宽度或者像素密度的情况下加载对应的图片地址。