1、inline-block、inline和block的区别;为什么img是inline还可以设置宽高
- Block是块级元素,其前后都会有换行符,能设置宽度,高度,margin/padding水平垂直方向都有效。
- Inline:设置width和height无效,margin在竖直方向上无效,padding在水平方向垂直方向都有效,前后无换行符
- Inline-block:能设置宽度高度,margin/padding水平垂直方向 都有效,前后无换行符
2、了解重绘和重排吗,知道怎么去减少重绘和重排吗,让文档脱离文档流有哪些方法?
DOM的变化影响到了DOM几何尺寸的变化(比如宽高),浏览器重新计算元素的几何属性,其他元素的几何属性也会受到影响,浏览器需要重新构造渲染树,这个过程称之为重排,浏览器将受到影响的部分重新绘制在屏幕上的过程称为重绘
重绘的原因有:
添加或者删除可见的DOM元素,
元素尺寸位置的改变
浏览器页面初始化,
浏览器窗口大小发生改变,重排一定导致重绘,重绘不一定导致重排,
减少重绘重排的方法有:
不在布局信息改变时做DOM查询,
使用csstext,className一次性改变属性
使用fragment
对于多次重