当子元素数量不同时,有没有一种方法可以将子按钮元素粘附到父元素底部?
父元素具有固定高度,并且在出现子元素溢出的情况下可以在垂直方向上滚动。在这种情况下,按钮应该位于子列表的末尾,但是如果没有子元素,或者子元素大小不会导致父元素溢出,则应该位于父元素底部。
是否有纯CSS解决方案?
谢谢
当子元素数量不同时,有没有一种方法可以将子按钮元素粘附到父元素底部?
父元素具有固定高度,并且在出现子元素溢出的情况下可以在垂直方向上滚动。在这种情况下,按钮应该位于子列表的末尾,但是如果没有子元素,或者子元素大小不会导致父元素溢出,则应该位于父元素底部。
是否有纯CSS解决方案?
谢谢
*为更可靠的方法进行编辑:
如果我理解正确,您可以使用固定页脚逻辑 - 只需在面板内部使用:
HTML:
<div class="panel-container">
<div class="panel-content">
<div class="wrapper">
<p>asdfasdfasdfadfs</p>
<!--<p>asdfasdfasdfadfs<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></p>-->
<div class="push"></div>
</div>
<div class="footer">
<button>Click click!</button>
</div>
</div>
</div>
CSS
.panel-container {width:300px;height:300px;margin:20px;background:#f2f2f2;overflow:auto;}
.panel-content {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -30px;
}
.footer, .push {
height: 30px; /* .push must be the same height as .footer */
}
.footer {background:#ccc;}
工作样例:
http://jsfiddle.net/9SHdN/47/(取消注释<p>
以查看长文本的滚动)
好的,我不确定我是否真正理解了你的问题,但我会尝试回答:
父级 div:
<div class="options_div">
<p>Text inside</p>
<ul class="options">
<li>option 1</li>
<li>option 2</li>
<li>option 3</li>
</ul>
<input type="button" name="go" value="Goooo!" />
</div>
CSS:
.options_div {
width: 300px;
height: 200px;
overflow: scroll;
}
.options_div>ul {
list-style: none;
}
.options_div>ul>li {
/* do what everrrr you want with it */
}
这里有一个想法:
.panel {position:relative;height:300px;width:300px;background:#f2f2f2;overflow:auto;}
.varyingContent { height:280px; display:table-cell; }
.button { position:relative; height:20px;}
<div class="panel">
<div class="varyingContent">
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
asdfadf
<br />
<br />
</div>
<button class="button">test</button>
</div>