在没有高度的div上使用<br clear=all>的CSS方式?

这个问题在这里已经有了答案:

  • 让div填充剩余屏幕空间的高度31个答案
  • br clear =“all”vs css solution 4 answers

  • 你应该使用

    <br style="clear: both">
    

    因为clear属性是折旧的。 虽然这不是很有说服力。

    更有说服力的达到同样的目的是使用一个类:

    .clear {
      clear: both;
    }
    

    另一种方法是将以下类放在包含元素上:

    .container {
      overflow: hidden; /* can also be "auto" */
    }
    

    然后是“clearfix”方法,您将其放在包含的元素上:

    .clearfix:after {
      content: "";
      display: table;
      clear: both;
    }
    

    你可以阅读更多:http://www.sitepoint.com/clearing-floats-overview-different-clearfix-methods/

    编辑:如果你想divs是相同的高度,并且你的目标是IE10 +,你可以使用flexbox。 非常简单:http://learnlayout.com/flexbox.html

    这里有一个关于flexbox的交互式教程:http://cvan.io/flexboxin5/


    最好的可能是使用clearfix方法:

    .welcomeText:before, .welcomeText:after {
       content:"";
       display:table;
    }
    
    .welcomeText:after {
      clear:both;
    }
    

    在CSS的开始,我们使用了一个带有“clear:both”属性的div

    但现在使用CSS,我们可以使用伪元素,就像div中的元素,但是使用CSS创建。

    你可以阅读任何关于清理浮动的文章。 例如:这一个解释浮动问题:http://diywpblog.com/when-and-how-to-use-a-clearfix-css-tutorial/

    但这不是你参加的答案,因为你希望所有的子div都和父子div一样高。

    您可以在父级上使用display:table在其上display:table-cell ,但删除float:left ;


    自动制作div的高度是不可能的(除非你给出了固定的高度)。

    但是,它是与jQuery(使div的高度相同):

    var heights = [];
    
    $(".houseTiles, .houseTiles2").each(function() {
        heights.push($(this).height());
    });
    
    var biggestheight = Math.max.apply(null, heights);
    
    $(".houseTiles, .houseTiles2").each(function() {
        $(this).css("height",biggestheight);
    });
    

    如此JSFiddle演示中所示。

    对于浮动元素有一个高度,你可以给他们下面的CSS

    .houseTiles, .houseTiles2 {
        display:table;
        overflow:hidden;
    }
    

    这也清除了浮点数,正如你所做的clear=allclear:both

    链接地址: http://www.djcxy.com/p/88237.html

    上一篇: A CSS way of using <br clear=all> on divs without heights?

    下一篇: How to make an endless div after a fixed height div?