浮动和定位

2018-06-07  本文已影响0人  真的吗_a951

float浮动

position定位

一、 相对定位 relative

position: relative; top: 100px; left: 300px;

二、absolute绝对定位
三、固定定位fixed
四、static定位

默认,静态定位/无定位

清除浮动

脱离文档流导致的问题:
子元素脱离文档流,会导致父级的高度塌陷(没有高了)

.clearFix:after {
    content: "";
    clear: both;
    display: block; //添加之后内容是内联,要添加样式需要先变成块级元素
    }

BFC

BFC:(block formatting context 块级格式化上下文),它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用

一个新的BFC可以通过给容器添加任何一个触发BFC的CSS样式,如overflow: scroll, overflow: hidden, display: flex, float: left,或者 display: table来创建。

  • display:table可能会产生一些问题
  • overflow:scroll可能会显示不必要的滚动条
  • float:left将会把元素置于容器的左边,其他元素环绕着它
  • overflow:hidden将会剪切掉溢出的元素

触发BFC

  1. float的值不为none;
  2. overflow的值不为visible;
    =>overflow:scrroll 始终显示滚动
    =>overflow:auto 超出才显示滚动
    =>overflow:hidden 超出部分隐藏
  3. display的值为 table-cell、table-caption和inline-block之一;
    => table-cell 此元素会作为一个表格单元格显示(类似 <td> 和 <th>)
    =>table-caption 此元素会作为一个表格标题显示(类似 <caption>)
    =>inline-block 行内块元素。
  4. position的值不为 static或 relative中的任何一个;
    => static 默认值。没有定位,元素出现在正常的流中
    => relative 生成相对定位的元素,相对于其正常位置进行定位。
    作用
  5. 包含浮动元素
  6. 阻止margin向外传递
  7. 不被浮动元素覆盖
上一篇 下一篇

猜你喜欢

热点阅读