CSS浮动和定位

2017-03-08  本文已影响0人  高进哥哥

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

浮动元素不在文档的普通流中,它可以根据float属性值而左右移动,直到它的外边缘碰到包含框或者另一个浮动元素的框的边缘才停止移动。

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

清除浮动是指浮动元素脱离文档流,父元素无法感知浮动元素的容量,如果父元素未设置高度值,父元素高度将无法只由浮动元素撑开,结合clear属性让父元素在视觉上包围浮动元素。清除浮动的方法:

after伪类: 元素内部末尾添加内容;
.clearfix{
  *zoom: 1;//用来触发 IE下 haslayout,使元素根据自身内容计算宽高
}
.clearfix:after{
   content: “”; 
   display: block; 
   clear: both;
}

这个方法没有副作用,但是并不是每一个清除浮动都用这种方式,视情况而定

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

有6种定位方式:

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

因为绝对定位的元素脱离了普通流,所以绝对定位的元素可以覆盖页面上的其它元素。这时可以通过给元素设置z-index属性来控制叠放顺序,该属性值越高,元素位置越靠上。

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

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

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
BFC就是页面上一个隔离出来了的独立容器,容器里面的子元素不会影响到外面的元素。
哪些元素会生成BFC?

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

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。


当为parent容器加上边框后,则能正常显示外边距



阻止父子元素外边距合并的办法:形成BFC可以阻止外边柜合并或者元素上加上border或者padding

上一篇下一篇

猜你喜欢

热点阅读