我想要一个两列div布局,其中每一个都可以有可变的宽度。
div {
浮:左;
}
接着{
背景:# ccc;
}
< div > < / div >树
< < div class = "第二”>视图/ div >
我想要“视图”div扩展到整个可用的宽度后,“树”div已经填补了所需的空间。
目前,我的“视图”div被调整为它所包含的内容
如果两个跳水都占据整个高度也会很好。
不可重复声明:
当设置float:left时,将div扩展到最大宽度
因为左边的宽度是固定的。
帮助div -使div适合剩余的宽度
因为我需要两列都向左对齐
我写了一个javascript函数,从jQuery $(document).ready()调用。这将解析父div的所有子div,只更新最右边的子div。
html
...
<div class="stretch">
<div style="padding-left: 5px; padding-right: 5px; display: inline-block;">Some text
</div>
<div class="underline" style="display: inline-block;">Some other text
</div>
</div>
....
javascript
$(document).ready(function(){
stretchDivs();
});
function stretchDivs() {
// loop thru each <div> that has class='stretch'
$("div.stretch").each(function(){
// get the inner width of this <div> that has class='stretch'
var totalW = parseInt($(this).css("width"));
// loop thru each child node
$(this).children().each(function(){
// subtract the margins, borders and padding
totalW -= (parseInt($(this).css("margin-left"))
+ parseInt($(this).css("border-left-width"))
+ parseInt($(this).css("padding-left"))
+ parseInt($(this).css("margin-right"))
+ parseInt($(this).css("border-right-width"))
+ parseInt($(this).css("padding-right")));
// if this is the last child, we can set its width
if ($(this).is(":last-child")) {
$(this).css("width","" + (totalW - 1 /* fudge factor */) + "px");
} else {
// this is not the last child, so subtract its width too
totalW -= parseInt($(this).css("width"));
}
});
});
}