前端查漏补缺 全知识点合集(更新中9.3)

该篇文章用于本人查漏补缺,会有大量知识点,不定期更新,有人愿意看就随便看看。

HTML

浏览器的运行机制:

  • 构建DOM树(parse):渲染引擎解析HTML文档,首先将标签转换成DOM树中的DOM node(包括js生成的标签)生成内容树(Content Tree/DOM Tree);
  • 构建渲染树(construct):解析对应的CSS样式文件信息(包括js生成的样式和外部css文件),而这些文件信息以及HTML中可见的指令(如,构建渲染树(Rendering Tree/Frame Tree);render tree中每个NODE都有自己的style,而且render tree不包含隐藏的节点(比如display:none的节点,还有head节点),因为这些节点不会用于呈现
  • 布局渲染树(reflow/layout):从根节点递归调用,计算每一个元素的大小、位置等,给出每个节点所应该在屏幕上出现的精确坐标;
  • 绘制渲染树(paint/repaint):遍历渲染树,使用UI 层来绘制每个节点。

HTML5 drag api

  • dragstart:事件主体是被拖放元素,在开始拖放被拖放元素时触发。
  • darg:事件主体是被拖放元素,在正在拖放被拖放元素时触发。
  • dragenter:事件主体是目标元素,在被拖放元素进入某元素时触发。
  • dragover:事件主体是目标元素,在被拖放在某元素内移动时触发。
  • dragleave:事件主体是目标元素,在被拖放元素移出目标元素是触发。
  • drop:事件主体是目标元素,在目标元素完全接受被拖放元素时触发。
  • dragend:事件主体是被拖放元素,在整个拖放操作结束时触发

CSS

为何img、input等内联元素可以设置宽、高

从元素本身的特点来讲,可以分为替换和不可替换元素。
可替换元素
替换元素就是浏览器根据元素的标签和属性,来决定元素的具体显示内容。例如浏览器会根据 标签的src属性的值来读取图片信息并显示。例如根据标签的type属性来决定是显示输入框,还是单选按钮等。
HTML中的