网站首页 > 知识剖析 正文
下面的两个问题还是比较常问到的, 希望大家能够好好的记忆一下。
1. 什么是 回流(reflow)? 重绘(repaint)?
1-1. 回流 的核心概念:
1. 当 render Tree 中的一部分(或者全部) 因元素的 规模尺寸 、 布局 、 隐藏 等改变而需要重新构建, 这就称为回流 。
2. 当页面 布局和集合属性 改变时就需要回流 。
1-2. 回流详细解析:
1. 回流更多的是涉及到页面元素大小的变化, 尺寸的变化, 布局的变化, 这些核心概念变化的时候, 会触发回流 。
2. 实例: 网站的懒加载, 在下滑的时候会有图片增加到我们的 dom Tree 上, 这就是典型的一种 Render Tree 在动态过程中它的布局改变 。
3. 实例: 对图片做一些特殊的效果, 如鼠标放上变大, 这种场景图片大小的变化, 也是会触发回流的 。
2-1. 重绘的核心概念:
1. 当 render Tree 中的一些元素需要更新属性, 而这些属性只是影响元素的外观, 风格, 而不会影响布局, 比如 background-color, 这就是重绘 。
2-2. 重绘详细解析:
1. 涉及重绘的时候, 不一定触发回流; 回流是一定会触发重绘的
3. 重绘与回流这些与浏览器本身也是有关系的 。
1. 不同的浏览器渲染机制不一样, 重绘与回流发生的情况也不一样。
2. 那些 CSS 属性会触发 "回流" ?
1. 触发页面重新布局的属性:
1. 盒模型相关的属性会触发重新布局 。
1. width
2. height
3. padding
4. margin
5. display
6. boeder-width
7. border
8. min-height
2. 定位属性以及浮动也会触发重新布局 。
1. top
2. bottom
3. left
4. right
5. position
6. float
7. clear
3. 改变节点内部文字结构也会触发重新布局 。
1. text-algin
2. overflow-y 规定是否对内容的上/下边缘进行裁剪 - 如果溢出元素内容区域的话/ 滚轮
3. font-weight
4. overflow
5. font-family
6. line-height
7. vertival-algin 设置元素的垂直对齐方式
8. white-space 设置如何处理元素内的空白
9. font-size
3. 那些 CSS 属性会触发 "重绘" ?
1. 那些 CSS 属性会触发重绘(只会触发重绘不会触发回流)?
1. color
2. border-style
3. border-radius
4. visibility 规定元素是否可见
5. text-decoration 规定添加到文本的修饰
6. background
7. background-image
8. background-position
9. background-repeat
10. background-size
11. outline-color
12. outline
13. outline-style
14. outline-width 设置元素整个轮廓的宽度
15. box-shadow 阴影
这里就是一些概念性的内容与需要加深记忆的内容, 最好的方法就是每天都来看一遍。
之前有整理过部分知识点, 现在将整理的相关内容, 验证之后慢慢分享给大家; 这个专题是 "前端面试题" 的相关专栏; 大概会有200+的文章。
如果对大家有所帮助,可以点个关注、点个赞; 文章会持续打磨 。
有什么想要了解的前端知识, 可以在评论区留言, 会及时分享所相关内容 。
- 上一篇: 快速了解Sass 快速了解赛车
- 下一篇: 01 色块滑动 调整色相滑块
猜你喜欢
- 2024-11-09 01 色块滑动 调整色相滑块
- 2024-11-09 快速了解Sass 快速了解赛车
- 2024-11-09 18.CSS选择器、属性和值 css中选择器的含义
- 2024-11-09 css样式美化 css美化文字
- 2024-11-09 WEB:讲清楚CSS、Less、Sass、Scss
- 2024-11-09 一篇文章带你了解CSS3按钮知识 css 按钮
- 2024-11-09 CSS样式优先级怎样划分?【CSS优先级规则】
- 2024-11-09 你知道网页上一动不动的悬浮框是怎么做出来的吗?
- 2024-11-09 一篇文章教会你利用createjs实现界面效果
- 2024-11-09 如何给HTML标签中的文本设置修饰线
- 最近发表
- 标签列表
-
- xml (46)
- css animation (57)
- array_slice (60)
- htmlspecialchars (54)
- position: absolute (54)
- datediff函数 (47)
- array_pop (49)
- jsmap (52)
- toggleclass (43)
- console.time (63)
- .sql (41)
- ahref (40)
- js json.parse (59)
- html复选框 (60)
- css 透明 (44)
- css 颜色 (47)
- php replace (41)
- css nth-child (48)
- min-height (40)
- xml schema (44)
- css 最后一个元素 (46)
- location.origin (44)
- table border (49)
- html tr (40)
- video controls (49)