美文网首页
task-10 Float & BFC & Positio

task-10 Float & BFC & Positio

作者: molly的红草帽 | 来源:发表于2017-05-11 17:27 被阅读0次
1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响?

特征:脱离普通流,不占用空间
影响:

  • 父容器
    不能撑开父容器
  • 其他浮动元素
    其他浮动元素能够感知浮动元素的存在,并且在父级宽度不够的时候会自行向下寻找能放得下自己的位置;如果浮动元素的高度不同,那么向下移动的时候可能被卡住
  • 普通元素
    不能感知浮动元素的存在,在表现形式上会被浮动元素遮挡。
  • 文字
    文字能感知浮动元素的存在,当文字较多时会呈现环绕浮动元素排列。
    再多打1看结果
2.清除浮动指什么? 如何清除浮动? 两种以上方法
  • clear属性,属性的left,right,both,none表示框的哪些边不挨着浮动框,只对自己生效。
    注意,不要同时给一个元素同时设置float和clear
  • 所有浮动元素下加一个空的标签,不一定是div
<div style="clear:both;"></div>
or
<div style="clear:left;"></div>
  • BFC清除浮动
  • float为 left right
    使父容器长度缩短;父容器float解决了其塌陷问题,那么父容器的父容器怎么办?
  • overflow为 hidden auto scroll
    影响滚动条和绝对定位的元素
  • display为 table-cell table-caption inline-block
    依然没有解决低版本IE问题,display:inline-block会使父容器长度缩短
  • position为 absolute fixed
    改变元素的定位方式
  • hasLayout 给父元素添加类名clearfix
 .clearfix{
    *zoom:1;
  }                                  IE6,7
  .clearfix:after{
    content:"";
      display:table;
      clear:both;
  }                                IE8以上
3.有几种定位方式,分别是如何实现定位的,参考点是什么,使用场景是什么?
  • inherit
    从父元素继承position属性的值
    一般不用
  • static
    默认值,没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)
  • relative
    生成相对定位的元素,相对于元素本身正常位置进行定位
    属性值:left, top,right ,bottom
    应用于对其自身进行细微调整
  • absolute
    生成绝对定位的元素,相对于static定位以外的第一个祖先元素(offset parent)进行定位
    属性值:left, top,right ,bottom
  • fixed
    生成绝对定位的元素,相对于浏览器窗口进行定位。
    属性值:left, top,right ,bottom
    需要一直停留在窗口的元素,例如
  • sticky
    兼容性较差,一般用JS实现
    新的css3属性,它的表现类似position:relative和position:fixed的合体,目标区域在屏幕中可见时,它的行为就像position:relative; 而当页面滚动超出目标区域时,它的表现就像position:fixed,它会固定在目标位置。
    如果同时定义了left和right值,那么left生效,right无效,同样,同时定义了top和bottom,top赢
4.z-index 有什么作用? 如何使用?

相对定位绝对定位的元素,可以通过z-index属性控制叠放顺序,z-index越大,元素位置越靠上。
取值:auto,正值,负值,0

z-index:0 和z-index:auto区别

  • z-index:0会创建一个新的层叠上下文,而auto 不会
  • 另外0 会在auto 上面
5.position:relative和负margin都可以使元素位置发生偏移?二者有什么区别

position:relative
相对自己原本的位置偏移,不影响其它普通流中元素的位置。margin:除了让元素自身发生偏移还影响其它普通流中的元素。

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

BFC:块级格式化上下文
特征

  • BFC会阻止垂直外边距(margin-top、margin-bottom)折叠
    同属于一个BFC时,相邻元素,嵌套元素可能发生垂直Margin的重叠,只要他们之间没有阻挡(例如边框,非空内容,padding等)
    对于嵌套元素来说,只要把父元素设为BFC就可以了。这样子元素的margin就不会和父元素的margin发生重叠
7.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例

父子元素,相邻元素中间没有阻挡(边框,非空内容,padding)则会出现外边距合并,合并时按照两者中外边距较大的为准。形成bfc可以阻止外边距合并
例子:第6题中红色和黄色中间的外边距就进行了合并。

代码:
alert
info-form
frame
nav-bar

相关文章

  • task-10 Float & BFC & Positio

    1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 特征:脱离普通流,不占用空间影响:...

  • 多列布局思路

    首先阅读:BFC与多列布局 通过BFC特性:float + BFC盒子 通过margin回拉(用到float)或绝...

  • 两列布局的多种方式

    Html float+margin position:absolute Flex *float+BFC

  • CSS: 实现两栏布局,左边固定,右边自适应的4种方法

    1. float+overflow:hidden 这种办法主要通过 overflow 触发 BFC,而 BFC 不...

  • Flex布局学习

    传统的网页布局中,我们经常使用display:block+margin+padding+float+positio...

  • 布局

    两栏布局(bfc)demo 原理:BFC的区域不会与float box重叠。通过触发main生成BFC, 来实现自...

  • BFC IFC GFC FFC

    BFC: 块级格式上下文 触发BFC的元素有float、position、oveflow、display:tabl...

  • BFC 块级格式化上下文

    BFC BFC 是一个独立的渲染区域,内部元素的渲染不会影响外界 创建 BFC float 属性不是 none p...

  • BFC [块级格式化上下文]

    1、BFC 会阻止垂直外边框合并2、BFC 不会重叠浮动元素3、BFC 可以包含浮动 4、任何元素设置了float...

  • css 知识整理

    BFC BFC触发条件: 根元素,即html float的值不为none(默认) position的值为absol...

网友评论

      本文标题:task-10 Float & BFC & Positio

      本文链接:https://www.haomeiwen.com/subject/vmawtxtx.html