面试篇 - html

DOCTYPE的作用?

DOCTYPE即Dcoument Type,网页文件的文档类型标准

声明于html文档的最前面。告知浏览器的解析器,使用哪种HTML规范或XHTML规范来解析页面

 

HTML5为什么只需要写<!DOCTYPE HTML>

<!DOCTYPE HTML>是文档类型声明,他声明了文档类型为HTML5,告知浏览器使用的是HTML5标准

 

html5 新增哪些新特性?相比html4

新增api

  • 本地存储:localStorage、sessionStorage
  • 地理定位:Geolocation
  • Canvas绘图
  • 即时通信WebSocket

新增标签

  • aside:定义页面著区域之外的内容,比如侧边栏
  • article:定义页面中的独立结构
  • video:多媒体
  • canvas:画布
  • footer:定义文档的底部区域
  • header:定义文档头部区域
  • nav:定义导航链接的部分
  • section:定义文档中的独立内容,比如章节、页眉、页脚

新增全局属性

  • 新增contenteditable属性(任何dom节点只要加上contenteditable = 'true',就变得可编辑)
  • draggable 推拽
  • hidden

input支持新属性:date、email、url等

 

什么是标签语义化?

定义:更直观的表现出每个标签的含义和作用

优点:

  • 代码结构清晰,易于阅读,利于开发和维护
  • 方便其他设备解析(如屏幕阅读器)根据语义渲染页面,自动生成不同的目录
  • 有利于seo(搜索引擎)搜索引擎会根据不同的标签来赋予不同的权重

 

在script标签上使用 defer 和 async 的区别是什么?

不使用

没有使用 defer 和 async 属性,浏览器会立即加载并执行响应的脚本

不等待后续加载的文档元素,读到就开始加载和执行,这会造成阻塞后续文档的加载

async

有了async属性:后续文档和js脚本是并行加载,异步执行

defer

有了defer属性:后续文档和js脚本是并行加载的,此时js脚本仅加载不执行,等到文档所有元素解析完成之后,DOMContentLoaded事件触发之前执行

 

 

 

 

 

 

 

 

input支持新属性:date、email、url等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章