将 =的高度设置为另一个到.css的高度
我在这个网站上有两个
#leftdiv { /*this is the navigation pane*/ min-height: 600px; max-height: 600px; } #rightdiv { /*this is the primary pane*/ min-height: 600px; max-height: 600px; overflow-y: auto; }
我为两者设置了很高的最小和最大高度,因此它们保持相同的高度,如果内容溢出#rightdiv
,则会出现滚动条。 我希望这个滚动条消失,让#rightdiv
和#leftdiv
伸展以适应#leftdiv
的内容。 您可以在我链接的页面中看到,有些内容溢出了#rightdiv
和滚动条的边界。 我希望整个网站在高度方向上伸展以适应内容,但如果我删除overflow-y: auto;
从我的.css中移除最大高度, #rightdiv
伸展,但#leftdiv
没有,产生一些真正丑陋的设计。
我想要像下面这样的东西:
#leftdiv { min-height: equal to #rightdiv height if #rightdiv is taller, else 600px; } #rightdiv { min-height: equal to #leftdiv height if #leftdiv is taller, else 600px; }
我怎样才能像这样设置两者的最小高度?
我假设你在两者都使用了高度属性,所以我将它与javasript左边的高度进行比较
var right=document.getElementById('rightdiv').style.height; var left=document.getElementById('leftdiv').style.height; if(left>right) { document.getElementById('rightdiv').style.height=left; } else { document.getElementById('leftdiv').style.height=right; }
另一个想法可以在这里找到HTML / CSS:使两个浮动div具有相同的高度
请注意,此代码未经过测试
谢谢,我希望这会帮助你……问候…… 🙂
如果您不关心IE6和IE7用户,只需使用display: table-cell
作为您的div:
演示
注意使用带有display: table
的包装器。
对于IE6 / IE7用户 – 如果你有 – 你可能需要回退到Javascript。
如果您愿意使用javascript,那么您可以在这样的元素上获取属性: document.GetElementByID('rightdiv').style.getPropertyValue('max-height');
你可以在这样的元素上设置属性: .setAttribute('style','max-height:'+heightVariable+';');
注意:如果您只是想将两个元素的max-height
属性设置在一行中,您可以这样做:
#leftdiv,#rightdiv { min-height: 600px; }
看起来你正在寻找的是CSS圣杯布局的变体,但是在两列中。 查看此答案的资源以获取更多信息。
您肯定会从为项目使用响应式框架中受益。 它可以为您节省大量的麻烦。 但是,看到HTML的结构我将执行以下操作:
请查看示例: http : //jsfiddle.net/xLA4q/
HTML:
CSS:
.nav-content-wrapper{position:relative; overflow:auto; display:block;height:300px;} .left-nav{float:left;width:30%;height:inherit;} .content{float:left;width:70%;height:inherit;}