Javascript 填充高度

Javascript 填充高度,javascript,html,css,Javascript,Html,Css,我编写了如下html代码: #包装器{ 宽度:100%; } .分区{ 宽度:45%; 身高:100%; 边框:1px纯黑; 浮动:左; } 单元格1 更多信息 细胞2 单元格3 更多信息 第4单元 要填补这一空白,有两个选项: 1:你可以用 2:使用下面的代码 #包装器{ 宽度:100%; } .分区{ 宽度:45%; 身高:100%; 边框:1px纯黑; 浮动:无; 显示:内联块; 垂直对齐:顶部; } 单元格1 更多信息 细胞2 单元格3 更多信息 第4单元 使用display:i

我编写了如下html代码:

#包装器{
宽度:100%;
}
.分区{
宽度:45%;
身高:100%;
边框:1px纯黑;
浮动:左;
}

单元格1
更多信息 细胞2 单元格3
更多信息 第4单元
要填补这一空白,有两个选项:

1:你可以用

2:使用下面的代码

#包装器{
宽度:100%;
}
.分区{
宽度:45%;
身高:100%;
边框:1px纯黑;
浮动:无;
显示:内联块;
垂直对齐:顶部;
}

单元格1
更多信息 细胞2 单元格3
更多信息 第4单元
使用display:inline块代替float:left

#包装器{
宽度:100%;
}
.分区{
宽度:45%;
边框:1px纯黑;
显示:内联块;
}

单元格1
更多信息 细胞2 单元格3
更多信息 第4单元
使用您自己的代码的CSS解决方案

我想你会对使用感兴趣,它会解决你的问题

已更新

注意:这不适用于IE9[如果您对此使用有顾虑 用于检测是否存在flex功能,并在必要时提供回退样式。]IE10支持此功能

#包装器{
宽度:100%;
显示器:flex;
柔性包装:包装;
}
.分区{
宽度:45%;
边框:1px纯黑;
}

单元格1
更多信息 细胞2 单元格3
更多信息 第4单元 单元格3
更多信息 单元格3
更多信息
获取
div
的最大高度,并设置为所有
div
s

$(文档).ready(函数(){
var maxHei=0;
$('.divs')。每个(函数(){

如果(maxHei您可以使用表进行i。这是一个很好的选择


使用此脚本。它将获取每个div的高度,并将更新最大的div

  $height = 0;
  $('.divs').each(function(){
  console.log($(this));
   if($(this).height()>$height) { 
     $height = $(this).height();
   }
  }); 
  $('.divs').height($height);

或者你可以这样做

    html, body {

        margin: 0;
        height: 100%;
    }
    div#wrapper {
    width: 100%;
    height: 100%;
    }
div#wrapper .divs {
width: 45%;
height: inherit !important;
border: 1px solid black;  
float: left;
}

您可以执行以下选项之一:

  • 高度以vh而不是%。您还可以设置最小高度或最大高度
  • 在#包装器中,显示:flex

Flexbox在这种情况下非常有用,只需使用。您只需稍微修改CSS:

#包装器{
显示器:flex;
柔性包装:包装;
}
.分区{
弹性:50%;
框大小:边框框;
边框:1px纯黑;
浮动:左;
}

单元格1
更多信息 细胞2 单元格3
更多信息 第4单元
你想让它看起来像一张桌子吗?如果你想让不同的div有不同的高度,请使用类似的方法。否则,我建议你在css中为所有你想要的div设置相同的高度。定义你想要得到的最终结果!!你已经将它们写成了“单元格”然后将单个div的宽度声明为45%。这意味着最多只有两个div并排出现,其他div将环绕到下一行。使用浮点进一步使它们脱离正常布局流程。请Specific@KiranDash我同意砖石结构,但给出高度并不是一个好方法,请参见下面我的答案以使用显示inline block and vertical align topYes是的,但是如果您愿意,您可以使用modernizr来检测是否存在flex功能,并在必要时提供回退样式。modernizr将向HTML元素添加类,如
flexbox
no flexbox
、以及'flexbox legacy'。但从IE10开始就支持它。
  $height = 0;
  $('.divs').each(function(){
  console.log($(this));
   if($(this).height()>$height) { 
     $height = $(this).height();
   }
  }); 
  $('.divs').height($height);
    html, body {

        margin: 0;
        height: 100%;
    }
    div#wrapper {
    width: 100%;
    height: 100%;
    }
div#wrapper .divs {
width: 45%;
height: inherit !important;
border: 1px solid black;  
float: left;
}