我准备了jsfiddle我的问题:
如何使ul
列的高度相同,而不依赖于其中包含的数据量。
CSS:
#priceTable{
width:780px;
margin:0 auto;
background:gray;
}
#priceTable ul{
display:inline-block;
margin:0 40px 0 0;
height:100%;
min-height:100%;
width:195px;
background:orange;
}
#priceTable li{
text-align:center;
font-weight:bold;
color:#000;
}
HTML:
<div id="priceTable">
<ul class="rowOne">
<li class="rowName">Package</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li class="button"><a href="#">Buy Now</a></li>
</ul>
<ul class="rowTwo">
<li class="rowName">Package</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li class="button"><a href="#">Buy Now</a></li>
</ul>
<ul class="rowThree">
<li class="rowName">Package</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4 </li>
<li class="button"><a href="#">Buy Now</a></li>
</ul>
</div><!-- end #priceTable -->
答案 0 :(得分:0)
使用CSS执行此操作的方法是将它们设置为固定高度。而不是min-height : 100%
使用类似min-height: 300px
的内容。但由于您不知道每个uls
将包含多少数据,因此这是一个非常不灵活的解决方案。
现在,如果你希望你的所有列都具有相同的高度,那么我希望它们都像最高的一样高。
这个jQuery代码应该可以解决这个问题:
var equalHeight = function ( group ) {
var tallest = 0;
group.each(function() {
var thisHeight = $(this).height();
if( thisHeight > tallest ) {
tallest = thisHeight;
}
});
group.height( tallest );
}
而不是仅仅使用您的元素组在文档中调用它
$(function () {
equalHeight($('.rows'));
});
这里的工作示例=&gt; http://jsfiddle.net/y2eHg/
答案 1 :(得分:0)
硬解决方案是使用overflow: hidden
答案 2 :(得分:0)