码迷,mamicode.com
首页 > 其他好文 > 详细

4、浮动与定位

时间:2020-01-07 20:10:44      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:play   overflow   inline   行内元素   浮动   解决   html   完全   适应   

一、浮动——float

??????????????float:left | right | none | inherit

1、特性

  • 任何元素都可浮动,浮动后生成块级框BFC)。
  • 浮动元素会从正常流中删除
  • 其他元素会环绕浮动元素
  • margin不会合并
  • 其包含块是最近的块级祖先元素
  • 浮动元素之间不会重叠
  • 空间不够,浮动元素会被挤到新行上

    2、行为

  • 浮动元素高度超出父元素高度时,父元素无法包含它,会产生高度塌陷
    解决方法:
    (1) clearfix:添加块级子元素,设置clear:both。
    (2)触发父元素BFC:
    • float: left、right
    • overflow:auto、scroll、hidden
    • display:table-cell、table-caption、inline-block
    • position:fixed、absolute
  • 浮动元素与一般元素重叠情况(负margin设置):行内框会在浮动元素之上显示;块级框内容显示在上,其他在下。

3、清除浮动

clear:left——元素左边不会出现浮动元素
clear:right——元素右边不会出现浮动元素
clear:both——元素两边不会出现浮动元素

二、定位——position

1、定位类型

static——正常文档流内
relative——相对定位。相对自身定位,原本占位空间保留。建立新的包含块(BFC)
absolute——绝对定位。相对于包含块(最近的非static定位祖先元素)定位,从文档流完全删除,原本占位消失,生成块级框
fixed——固定定位,相对于视图框定位,从文档流完全删除。

2、属性

relative、absolute、fixed具有偏移属性top/bottom/right/left,百分比值相对于包含块的尺寸。相对于外边距边界偏移。

3、层叠顺序

static元素层叠顺序:行内元素 > 浮动元素 > 块级元素 > 背景(层叠上下文)
对于所有元素层叠顺序规则:后来居上,后面的元素覆盖前面的元素(默认)。不论其定位类型。
body——0

三、Block Formatting Context——格式化块级上下文(BFC)

1、作用

  • BFC的子元素和外部相互不影响。(BFC元素不会发生margin重叠)
  • 更适合自适应布局

2、触发情况

  • html根元素
  • 浮动元素
  • overflow不是visible的元素。(auto、scroll、hidden)
  • display:table-cell、table-caption、inline-block
  • position是absolute或fixed

4、浮动与定位

标签:play   overflow   inline   行内元素   浮动   解决   html   完全   适应   

原文地址:https://www.cnblogs.com/chd1994/p/12163314.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!