Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 为什么clearfix的工作方式与它的工作方式相同?_Css_Responsive Design_Css Float - Fatal编程技术网

Css 为什么clearfix的工作方式与它的工作方式相同?

Css 为什么clearfix的工作方式与它的工作方式相同?,css,responsive-design,css-float,Css,Responsive Design,Css Float,使用clearfix,您将使用生成的css内容在其所有浮动的同级之后创建一个div,这样它的父级就不会崩溃。我的问题是为什么要使用生成的内容?我注意到,简单地将父级声明为显示表可以防止它崩溃。这是更少的代码,所以他不是简单地这么做吗?另外,为什么在生成内容时使用显示表格,显示块也起作用。Lasty我经常看到在浮动元素之后和之前生成的内容,为什么两者都是,最后一个元素不是只需要清除吗?重申1)为什么不简单地使用display:table;2) 为什么不显示包含生成内容的块。3) 为什么在之前和之后

使用clearfix,您将使用生成的css内容在其所有浮动的同级之后创建一个div,这样它的父级就不会崩溃。我的问题是为什么要使用生成的内容?我注意到,简单地将父级声明为显示表可以防止它崩溃。这是更少的代码,所以他不是简单地这么做吗?另外,为什么在生成内容时使用显示表格,显示块也起作用。Lasty我经常看到在浮动元素之后和之前生成的内容,为什么两者都是,最后一个元素不是只需要清除吗?重申1)为什么不简单地使用display:table;2) 为什么不显示包含生成内容的块。3) 为什么在之前和之后生成内容

 .parent{
     display: table;//is there a reason not to do this?
  }
  .parent:after{
      content: "";
      display: block;//interchangeable with table?
      clear:both;
   }
   .parent:after,.parent:before{ //why is this beneficial?
         content: "";
         display: table;
    }
    .parent:before{
         clear: both;
    }
 <div class="parent">
      <div></div>
      <div></div>
      <div></div>
 </div>
.parent{
display:table;//是否有不这样做的原因?
}
.家长:之后{
内容:“;
display:block;//是否与表互换?
明确:两者皆有;
}
.parent:after,.parent:before{//为什么这是有益的?
内容:“;
显示:表格;
}
.家长:以前{
明确:两者皆有;
}

1)您可能不想使
.parent
显示:table
。如果只希望它是块元素,该怎么办?还是flex?还是内联块?等等,这里讨论了第2和第3条,好吧,很酷,我读到了,但我还是有点困惑,它说:以前是用来防止边距塌陷的,但只有顶部和底部边距塌陷,如果你浮动某些东西,只有左侧和右侧会影响其他浮动项目,对吗?这是为了防止利润率从母公司利润率崩溃吗?我还不断读到显示表用于防止页边距折叠,但它似乎具有与块相同的页边距规则,。我想我没有理解一个小的方面来全面理解这一点。