我希望div2的高度为div1的100%,即使向下滚动到最底部(不仅仅是100px)。 这只能用CSS吗?
<div id="div1">
<div id="div2">
</div>
<p>Bunch of text here</p>
</div>
#div1 {
background-color: #fff;
border:1px solid #ff0000;
height: 100px;
overflow: auto;
overflow-x: hidden;
width: 200px;
}
#div1 p {
display: inline-block;
width: 50px;
height: 200px;
}
#div2 {
display: inline-block;
background-color: #ccc;
vertical-align: top;
width: 100px;
height: 100%
}
答案 0 :(得分:1)
如果div2小于300px,为什么div1的滚动高度会超过300px?根据你发布的内容,我认为你所需要的只是:
#div1 {
height: 300px;
overflow-x: hidden;
overflow-y: auto;
}
#div2 {
background-color: #ccc;
min-height: 100%;
}
这意味着div2在高度小于300px时填充整个容器,但如果容器溢出滚动条,仍然可以展开。
修改强>
好的,所以这似乎不合适。在这一点上,我将倾向于一些情境选择:
display: table
属性作为表格样式的某种“hackish”方法。请注意,css表似乎不允许固定高度,它们将溢出以显示没有滚动条的所有内容,因此您需要将其放置在外部容器中,设置为内联块,固定宽度和适当的溢出值。答案 1 :(得分:0)
我认为你的意思是:http://jsfiddle.net/jPMjF/
#div1 {
height: 300px
overflow: auto;
overflow-x: hidden;
}
#div2 {
background-color: #ccc;
min-height: 300px;
}
这样,div2将在div1内滚动,即使内容超过div1的高度(在小提琴上,我给div2一个600px的高度)。
答案 2 :(得分:0)
我做了一些修改。希望你能理解这个......
<强> HTML 强>
<div id="div1">
<div id="div2">
Content in div2.
</div>
<p id="p3">
ajs hask jas ashja sjh jasj ashja sbasj hasbk asj ask ashja sba sjh ashj asb sajask ajhb sakjbs ashjb saasj
</p>
</div>
<强> Jquery的强>
$(document).ready(function(){
var div3height=$('#div3').height();
$('#div2').height(div3height);
});
<强> CSS 强>
#div1 {
border:1px solid #ff0000;
height: 150px;
overflow: auto;
overflow-x: hidden;
width:150px;
}
#div2 {
background-color: #ccc;
height:100%;
overflow:auto;
float:left;
width:50%;
}
#p3 {
height:auto;
overflow:auto;
float:left;
width:50%;
}
希望这会对你有帮助..
修改强>
如果问题的意思是Ipd所述
然后你只需要改变css并离开jquery部分......
即..
<强> CSS 强>
#div1 {
border:1px solid #ff0000;
height: 150px;
overflow: auto;
overflow-x: hidden;
width:150px;
background-color: #ccc;
}
#div2 {
height:100%;
overflow:auto;
float:left;
width:50%;
}
#p3 {
background-color:#FFF;
height:auto;
overflow:auto;
float:left;
width:50%;
}
答案 3 :(得分:0)
<强> Working jsFiddle Demo 强>
<div id="container">
<div id="sidebar">
Content in div2.
</div>
<div id="content">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, sequi, non mollitia ducimus eaque commodi iure vel quos ipsam hic voluptatem tempore facere quo dolorum magnam incidunt porro quis culpa.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, sequi, non mollitia ducimus eaque commodi iure vel quos ipsam hic voluptatem tempore facere quo dolorum magnam incidunt porro quis culpa.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur, sequi, non mollitia ducimus eaque commodi iure vel quos ipsam hic voluptatem tempore facere quo dolorum magnam incidunt porro quis culpa.</p>
</div>
</div>
#container {
background-color: #fff;
border: 1px solid #ff0000;
height: 100px;
overflow: hidden;
width: 200px;
position: relative;
}
#content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
background-color: pink;
width: 100px;
overflow: auto;
}
#sidebar {
position: absolute;
top: 0;
left: 0;
bottom: 0;
background-color: #ccc;
width: 100px;
}
答案 4 :(得分:0)
#div1 {
background-color: #fff;
border:1px solid #ff0000;
height: 100px;
overflow: auto;
overflow-x: hidden;
width:200px;
}
#div1 p { display: inline-block; width: 50px; }
#div2 {
display: table-cell;
background-color: #ccc;
height: auto;
width: 100px;
padding-bottom:80%;
float:left;
}
你的答案100%
检查它的工作