美文网首页
第十一弹-inline-block、BFC、边距合并

第十一弹-inline-block、BFC、边距合并

作者: 聪聪的执著 | 来源:发表于2016-06-24 00:36 被阅读0次

一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例?

  • 外边距合并(折叠):相邻元素边距合并只存在上下垂直方向上,共有三种不同的类型:分别为父子边距合并、兄弟边距合并、自身边距合并;
  • 父子元素外边距合并:


  • 兄弟元素外边距合并:


  • 空元素自身上下边距合并,添加内容1隔开消除自身边距合并:


  • 外边距消除办法:
    • 父子元素:父元素形成BFC、加内边距、加边框;
    • 兄弟元素:使用浮动、inline-block,或者加包裹自身形成BFC;
    • 自身:添加内容或子元素,添加加内边距、加边框;

二、去除inline-block内缝隙有哪几种常见方法?

  • 多个元素之间不换行,开始标签与结束标签之间无空格或换行符:


  • 带反">"一起换行:


  • 使用负margin:


  • 自身浮动,父容器形成BFC:


  • 父容器添加font-size:0属性,自身重新设置字体大小:
  • 详见实例,请点击实例,查看运行效果:

三、父容器使用overflow: auto| hidden撑开高度的原理是什么?

  • 子元素定义浮动属性,不占据空间,那么父容器不会被撑开,父容器使用overflow: auto| hidden属性后,父容器的宽度会强制包裹内部的全部浮动元素,从而达到撑开高度的作用(相当于清除浮动元素不占据空间的效果,强制使浮动元素占据空间);

四、BFC是什么?如何形成BFC,有什么作用?

  • 定义:BFC(Block Formatting Context)直译为“块级格式化上下文”。可以把它理解成是一个独立的容器,并且这个容器的里的布局,与这个容器外的毫不相干;
  • 作用:
    • 阻止垂直外边距折叠,内部子元素仍然会折叠;
    • 不会重叠浮动元素;
    • 可以包含浮动

五、浮动导致的父容器高度塌陷指什么?为什么会产生?有几种解决方法

  • 定义:由于浮动元素不占据空间,当父容器内部所有元素添加浮动属性后,自身又没有设置相应数值的高度,那么父容器就会出现高度塌陷,显示看起来没有height高度;
  • 解决办法:清除浮动,强制父容器包裹浮动子元素,如下表格

六、以下代码每一行的作用是什么? 为什么会产生作用? 和BFC撑开空间有什么区别?

  • 以下为相应的代码及作用注释:
    .clearfix:after /为clearfix类添加after伪类属性/
    {
    content: '';/元素内容为空/
    display: block;/空元素转换为块级元素/
    clear: both;/清除两端浮动/
    }
    .clearfix{
    zoom: 1;/兼容ie6&7,清除浮动*/
    }
  • 和BFC区别:
    • 添加伪类:在父容器的最后添加一个子元素并清除两端浮动,并且这个元素是块级元素会独立成行,那么它会被浮动元素挤压到最低端,相当于父容器包含了浮动元素;
  • BFC:自身为独立空间-BFC,BFC特性就有可以包含内部浮动元素和不会重叠浮动元素;

七、代码题

一. 实现如下效果的导航条

  • 答:代码11-1
    二. 利用BFC的原理实现下图所示两栏布局:

    <div id="header">header</div> 
    <div id="content"> 
      <div class="aside">aside</div>
      <div class="main"> 我是main 我是main 我是main 我是main 我是main 
      是main 我是main 我是main 我是main 我是main 我是main 我是main... 
      </div> 
      </div> 
    <div id="footer"></div>
    

        声明:本博客版权归兰文聪和饥人谷所有,转载需说明来源!

相关文章

  • 前端基础(问答8)

    keywords: inline-block、BFC、边距合并、overflow、高度塌陷。 在什么场景下会出现外...

  • 第十一弹-inline-block、BFC、边距合并

    一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例? 外边距合并(折...

  • 第十一弹-inline-block、BFC、边距合并

    问答 1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 什么是外边...

  • inline-block、BFC、边距合并

    1 . 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 合并场景:相...

  • inline-block、BFC、边距合并

    1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例。 当block元...

  • inline-block、BFC、边距合并

    收拾心情,重新出发。加油。 一、在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距...

  • inline-block、BFC、边距合并

    1. 在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 外边距合并:外...

  • inline-block、BFC、边距合并

    在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 同一文档流中的两个相...

  • inline-block、BFC、边距合并

    1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 相邻元素当两个元...

  • inline-block、BFC、边距合并

    1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 外边距合并的场景...

网友评论

      本文标题:第十一弹-inline-block、BFC、边距合并

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