task-10 Float & BFC & Position

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,696评论 1 92
  • 浮动定位 BFC 边距合并 浮动元素 div的顺序是HTML代码中div的顺序决定的。 浮动可以理解为让某个div...
    nianxiaoge阅读 4,035评论 0 0
  • 一,浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 浮动模型是一种可视化格式模型,浮动...
    DeeJay_Y阅读 4,449评论 0 4
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 4,574评论 0 2
  • 一、浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 特征:1、浮动模型是一种可视化格式...
    青鸣阅读 4,974评论 0 0

友情链接更多精彩内容