1, 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?
a,脱离文档流不占据文档流中的空间,因此浮动元素后面的文档流中的元素会占据浮动元素的位置
b,多个浮动元素并行排列占据一行
c,文本遇到浮动元素边框会另起一行排列,表现成围绕浮动元素。
d,如果有其它元素有清除浮动,同一层的浮动元素则会另起一行放置
2,清除浮动指什么? 如何清除浮动? 两种以上方法
清除浮动:如果某个元素因为周围的浮动元素产生了影响,清除浮动可以使该元素换到下一行,清除浮动就消除这种影响
- clear:both right left
2)使用父容器形成BFC
3,有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?
1)5种定位方式
a,inherit:从父元素继承position属性的值
b,static:静态文档流,默认布局方式
c,raletive:相对定位,相对于元素原来的位置定位,原来的位置保留在原来的位置不动。一般用于微调整元素自身位置
d,absolute:绝对定位,脱离正常文档流,相对于除了static的祖先元素进行定位,如果没有,则相对于html定位。另外,如果父容器设置了padding则left,right,top,bottom这些属性的值是默认的padding的值,auto。一般用于使用相对位置的场景,在父元素上加个relative,在给子元素设定absolute进行相对偏移。
e,fixed:固定定位,相对于浏览器窗口定位。一般用于广告、一些固定提示栏等你想要固定持续显示的内容
f,sticky:新属性,表现为position:relative和position:fixed合体的属性
4.z-index 有什么作用? 如何使用?
设置元素层叠顺序,值越高,则优先显示在上方
5,position:relative和负margin都可以使元素位置发生偏移?二者有什么区别
区别:relative只是把元素移开,该元素的坑还在原来静态文档流中的位置,不会影响文档流中其他元素的布局, 负margin把元素移开,该元素移开之前的位置不会保留,会影响文档流中其他元素的布局。
6,BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明
1)BFC是“Box Formating Context”指得是“块级格式化上下文”,它是一个独立的块级渲染区域,这个区域拥有自己的规则来约束块级盒子的布局,并且这种布局与区域外部无关
a. 浮动,float的值不为none
b. position的值为absolute、fixed、flex
c. overflow 的属性值不为 visible
d. display的值为inline-block、table-cell、table-caption
a,防止外边距合并
b,防止正常文档流中元素占据浮动元素的位置
c,消除文字围绕浮动元素
d,解决浮动元素造成的高度塌陷
7,在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例
1)只有在普通文档流中会出现外边距合并,脱离了文档流的不会出现外边距合并
a,正数的情况下合并外边距最大的数
b,负数的情况下合并绝对值最大的数
c,一正一负的情况下两数带符号相加
a,不同BFC的元素不会外边距合并
b,如果是父子关系,父元素设置了padding或边框也可以阻止父子外边距合并
代码
1,代码和效果
2,代码和效果
3,代码和效果
4,代码和效果