浮动定位BFC边距合并

2017-04-11  本文已影响0人  饥人谷_流水

1. 浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

特征

影响

用术语说就是浮动元素旁边的行框被缩短,从而给浮动元素流出空间,因而行框围绕浮动框

2. 清除浮动指什么? 如何清除浮动? 两种以上方法

清除浮动:解决浮动父容器高度塌陷问题;
如何清除浮动:

  1. 设置CSS样式:

.clearfix:after{
content: " ";
display: block;
flot: both;
}

此方法为最通用的一种方法,副作用最少。(和第一条本质一样)

3. 有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?

position=“ 以下值”

常用的值为relative , absolute , fixed。

4. z-index 有什么作用? 如何使用?

5. position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

position:relative:如果对一个元素进行相对定位,它将出现在他所在的位置上,然后可以通过设置垂直或水平位置,让这个元素相对于它自己移动,在使用相对定位时,无论元素是否移动,元素在文档流中占据原来空间,只是表现出来的位置会改变
负margin:元素的显示位置和在文档流中的位置均发生变化,而且会影响后面元素在文档流中的位置。

6. BFC 是什么?如何生成 BFC?BFC 有什么作用?举例说明

float为 left|right
overflow为 hidden|auto|scroll
display为 table-cell|table-caption|inline-block
position为 absolute|fixed

  • 按照BFC的定义,只有同属于一个BFC时,两个元素才有可能发生垂直Margin的重叠,这个包括相邻元素,嵌套元素,只要他们之间没有阻挡(例如边框,非空内容,padding等)就会发生margin重叠。
  • 因此要解决margin重叠问题,只要让它们不在同一个BFC就行了,但是对于两个相邻元素来说,意义不大,没有必要给它们加个外壳,但是对于嵌套元素来说就很有必要了,只要把父元素设为BFC就可以了。这样子元素的margin就不会和父元素的margin发生重叠

7. 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例

  1. 父子元素间没有阻挡(如:边框、非空内容、padding等)时发生margin-top , margin-bottom合并。将父容器设为bfc或加上边框,非空内容,padding等可以阻止合并 。范例
  2. 两个兄弟元素在垂直方向上合并外边距,取较大值进行合并。范例
  3. 外边距自己和自己合并:如果一个元素没有边框和填充,但有上下外边距,这时它的上下外边距会合并。
上一篇 下一篇

猜你喜欢

热点阅读