HarleyWang93 / learning

学习
7 stars 0 forks source link

浮动 定位 BFC 边距合并 #10

Open HarleyWang93 opened 7 years ago

HarleyWang93 commented 7 years ago

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

浮动元素是什么?

浮动元素的特征

  1. 不占据普通文档流的空间。
  2. 浮动元素的左(右)外边界不能超过其包含块的左(右)内边界。
  3. 浮动元素的左(右)外边界必须是源文档中之前出现的左浮动(右浮动)的元素的右(左)边界,除非后出现浮动元素的顶端在先出现浮动元素的底端下面。
  4. 左浮动元素的右外边界不会在其右边浮动元素的左外边界的右边。一个右浮动元素的左外边界不会在其左边任何左浮动元素的右外边界的左边。
  5. 一个浮动元素的顶端不能比其父元素的内顶端更高。
  6. 浮动元素的顶端不能比之前所有浮动元素或块级元素的顶端更高。
  7. 如果文档中一个浮动元素之前出现另一个元素,浮动元素的顶端不能比包含该元素所生成的框的任何行框的顶端更高。
  8. 如果浮动元素出现在另一个浮动元素的旁边,而因此可能导致超出包含块的话,这个浮动元素会向下浮动到之前浮动元素下面的某一点。
  9. 浮动元素必须尽可能高地放置。
  10. 左浮动元素必须向左尽可能远,右浮动元素必须向右尽可能远。
  11. inline 元素设置浮动,改变 inlinedisplay使得它像个block-level
  12. 在重叠上,浮动元素会遮盖block-level元素的背景,不会遮盖inline元素。

内边界:指盒模型中的content边界。外边界:指盒模型中的margin边界。

影响

清除浮动指什么? 如何清除浮动?

方法:

利用伪类:after清除 (推荐使用)

.clearfix{ *zoom:1; } /*兼容IE6、7 (现在基本上不用写这行了,基本淘汰了)*/    
.clearfix:after { 
    content:"";
    display: block;
    clear: both;
}

利用空标签清除

利用 BFC 清除浮动

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

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

深入理解CSS中的层叠上下文和层叠顺序

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

BFC 是什么?如何生成 BFC?BFC 有什么作用?

BFC: 块格式化上下文 ( block formatting context 、Block Format Content ) 是 Web 页面的可视 CSS 渲染的一部分,是一种显示渲染规则。它是块盒子的布局发生及浮动体彼此交互的区域。

首先 BFC 是一个名词,是一个独立的布局环境,我们可以理解为一个箱子(实际上是看不见摸不着的),箱子里面物品的摆放是不受外界的影响的。

形成条件:

注意:浮动不会影响其它块格式化上下文中元素的布局,并且清除浮动只能清除同一块格式化上下文中在它前面的元素的浮动。

作用

应用

在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?

场景

合并规则:

不让相邻元素外边距合并的方法:

总结:

参考

CSS 外边距合并