浮动

2017-02-23  本文已影响0人  大大的萝卜

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

特征:使元素脱离文档流,根据左右浮动,显示在一排。

影响:对父容器来说,脱离文档流,父元素无法感知浮动元素的容量,如果父元素未设置高度值,父元素高度将无法只由浮动元素撑开,父容器会失去高度,在浮动元素之外。

其它浮动元素都根据左右浮动,显示在一排。

普通元素会被遮档,如文档流中文字图片内容与浮动元素所占用区域重合,文字内容会被挤开。也就是文字环绕图片这种形势。

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

清除浮动还是浮动的,是为了清除浮动带来的副作用。

1、空标签清浮动:在父元素的子元素的最后添加一个没有高度的空的块标签,并且设置属性 clear:both;
2、在父元素上添加after伪类。

.container:after{
content: "";
display: block;
clear: both/;
}

3、让父元素也拂动起来。

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

inherit:继承父元素定位属性。
static:默认值,没有定位,元素出现在正常的文档流中。参考点是文档流中的位置。
relative:相对定位。相对于元素本身正常位置进行定位,通过top、bottom、left、right属性来设置偏移量。使用场景:为绝对定位设定参照物或对元素自身位置进行局部调整。
absolute:绝对定位。相对于static定位意外的第一个祖先元素进行定位,若都没有发现则以html标签为参考进行定位。使用场景:当想让元素参照特定参照物进行定位时使用。
fixed:固定定位。生成绝对定位元素,相对于viewport进行定位。
sticky:对象在常态时遵循普通流。它就像是relative和fixed的合体,当在屏幕中时按常规流排版,当卷动到屏幕外时则表现如fixed。兼容性不佳,不常用。

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

当页面上出现多个由绝对定位或固定定位所产生的浮动层时,这些浮动层的位置就由z-index来决定,数值越大,越在上面。

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

position:relative,元素在文档流中的位置不变,不影响后面元素在文档流中的布局。

margin,元素在文档流中位置发生了变化,影响后面元素在文档流中的布局。

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

BFC是块级格式上下文。其定义是:浮动、绝对定位(绝对定位、固定定位)元素、块级容器(如inline-block、 table-cell、table-caption)并不是块级盒子,还包括哪些overflow属性值取值visible以外的块级盒子,会为它们的内容物创建一个新的块级格式化上下文。

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

外边距合并指的是,当两个垂直外边距相遇时,即当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并。它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。父子外边距合并的条件是父元素没有边框和padding隔开。

形成BFC 可以阻止外边柜合并,如上一题的给元素添加浮动,绝对定位,inline-block,父子元素情况下,给父元素添加overflow不为none也可以阻止。

父子外边距合并的范例:


Paste_Image.png Paste_Image.png Paste_Image.png Paste_Image.png
上一篇下一篇

猜你喜欢

热点阅读