我想要制作两列高度相同但失败的列。 如何更改我的CSS或使用Jquery?请不要一张桌子。我有一个gridview来显示 数据库中的表。
我的代码:
<div id="wrap">
<div id="header">
<h1>TEST</h1>
</div>
<div id="sidebar">
<ul>
<li>nav1</li>
<li>nav2</li>
<li>nav3</li>
<li>nav4</li>
</ul>
</div>
<div id="gridview">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</div>
CSS:
#wrap
{
width: 800px;
background-color: #99c;
overflow: hidden;
}
#header
{
border-style: solid;
border-width: 1px;
background-color: #ddd;
width: 800px;
padding-top: 30px;
padding-bottom: 30px;
}
#sidebar
{
float: left;
width: 125px;
padding-top: 10px;
background-color: #C0C0C0;
}
#gridview
{
float: right;
width: 675px;
}
我尝试了假柱但没有运气。
Q1:如何修改CSS或使用jquery?
Q2:表格宽度难以适应#wrap的宽度(此处为800px)。有什么把戏吗? 感谢您提供代码帮助。
答案 0 :(得分:5)
我喜欢使用jQuery
jQuery(document).ready(function() {
var divone = jQuery("#sidebar").height();
var divtwo = jQuery("#gridview").height();
var maxdiv = Math.max(divone, divtwo);
jQuery("#sidebar").height(maxdiv);
jQuery("#gridview").height(maxdiv);
});
这基本上取两个div的高度并获得最大高度,然后将两个div分配相同的高度。这非常适合扩展divs
答案 1 :(得分:2)
试试这个:
function sameHeight(el1,el2) {
var he1 = $(el1).height();
var he2 = $(el2).height();
if(he1 > he2){ $(el2).height(he1); };
if(he1 < he2){ $(el1).height(he2); };
};
sameHeight(yourhtmlelement1,yourhtmlelement2);
您可以使用各种html元素!
答案 2 :(得分:1)
你需要的是一个clearfix:
<div id="sidebar">
<ul>
<li>nav1</li>
<li>nav2</li>
<li>nav3</li>
<li>nav4</li>
</ul>
</div>
<div id="gridview">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
<span class="clear!></span>
在此locatiob(在两个浮动的div下)添加此范围
并使用此CSS:
.clear
{
display: block;
clear: both;
}
两列现在应该是相同的高度。