Javascript 如何动态地使柱具有相同的高度?
我很难使我的柱子保持同样的高度。我只想让这些柱子保持同样的高度。这是我的密码: HTML:Javascript 如何动态地使柱具有相同的高度?,javascript,html,css,Javascript,Html,Css,我很难使我的柱子保持同样的高度。我只想让这些柱子保持同样的高度。这是我的密码: HTML: 我遇到的问题是,由于每个divs的id动态生成内容,因此每个列的高度将基于这些div中的内容。有没有办法将该列设置为比另一列长的任何列的高度?或者有没有办法将柱高度设置为固定值?我尝试为每个ids添加height:1000px,但这似乎并不适用于CSS。任何帮助都将不胜感激。您可以使用此代码获得帮助。 你需要使用FlexCSS <ul class="list"> <li clas
我遇到的问题是,由于每个
div
s的id动态生成内容,因此每个列的高度将基于这些div中的内容。有没有办法将该列设置为比另一列长的任何列的高度?或者有没有办法将柱高度设置为固定值?我尝试为每个id
s添加height:1000px
,但这似乎并不适用于CSS。任何帮助都将不胜感激。您可以使用此代码获得帮助。
你需要使用FlexCSS
<ul class="list">
<li class="list__item"><!-- content --></li>
<li class="list__item"><!-- content --></li>
<!-- other items -->
</ul>
如果要将每列的高度限制在某个极限,需要一些javascript代码来回退flex css。。您可以使用
max height
和min height
规则。但是如果你想用Javascript来做的话。下面是一个算法,假设您在填写列的内容数据后调用此函数
<ul class="list">
<li class="list__item"><!-- content --></li>
<li class="list__item"><!-- content --></li>
<!-- other items -->
</ul>
function setHeight() {
var leftCol = document.querySelector("#left-column");
var rightCol = document.querySelector("#right-column");
var largerHeight = Math.max(leftColHeight.getBoundingClientRect().height, rightColHeight.getBoundingClientRect().height);
leftCol.style.height = largerHeight + "px";
rightCol.style.height = largerHeight + "px";
}
您可以尝试检查我的代码,我已经使用display flex完成了您想要完成的任务。。检查此链接
有两大选择:使用Javascript,或不使用Javascript 如果您使用Javascript,假设您使用的库可以帮助代码的某些部分成为跨浏览器的,而无需您做大量工作,那么几乎可以保证它可以在任何支持它的浏览器上工作 大倒退:如果有人禁用了Javascript,这看起来不太好 不是Javascript 最近CSS获得了一种新的显示类型,
flex
。现在,应该说,基于IE 11,flexbox的支持已经搞砸了,但大多数浏览器都支持它(85%的浏览器支持它,没有前缀,这也包括大多数移动浏览器!)
.flex容器{
显示:-网络工具包盒;
显示:-webkit flex;
显示:-ms flexbox;
显示器:flex;
}
#左列{
-webkit-box-flex:0;
-webkit flex:0.25%;
-ms-flex:025%;
弹性:0.25%;
右边框:1px实心#CDCDCD;
}
#右栏{
-webkit-box-flex:1;
-webkit-flex:1;
-ms-flex:1;
弹性:1;
左侧填充:5px;
}
测试
测试
测试
通过CSS,并包括像IE8这样的旧浏览器,您可以使用display:table/table cell
main{
显示:表格;
表布局:固定;
宽度:100%;
}
#左列{
显示:表格单元格;
宽度:25%;
背景色:#fff;
右边界:实心;
}
#右栏{
显示:表格单元格;
宽度:75%;
}
面
统计数据
击打
标页码
试试这个(我添加了一些背景色只是为了看看结果)
main{溢出:隐藏;
}
#左列{
浮动:左;
宽度:25%;
背景色:红色;
右边框:1px实心#cdcdcd;
保证金底部:-99999像素;
填充底部:99999像素;
}
#右栏{
背景颜色:绿色;
宽度:75%;
左边缘:25%;
保证金底部:-99999像素;
填充底部:99999像素;
}
aa
bb
复写的副本
不需要使用javascript。
只需利用CSS中的标准表
显示即可
为什么不使用flexbox而不是浮动?另外一个是flexbox——等高列曾经被认为是CSS的圣杯!你可以用表格代替div分享你的网站的任何工作示例,请包括你发布的链接的要点,因为链接往往会在一段时间后停止工作。。。
.list
{
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}
.list__item
{
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
}
function setHeight() {
var leftCol = document.querySelector("#left-column");
var rightCol = document.querySelector("#right-column");
var largerHeight = Math.max(leftColHeight.getBoundingClientRect().height, rightColHeight.getBoundingClientRect().height);
leftCol.style.height = largerHeight + "px";
rightCol.style.height = largerHeight + "px";
}
.parent{
display: flex;
}