我有一些HTML,用于在ASP.Net页面的同一行中显示3 div。尽管div连续显示并排,但问题是第三个div(最右边的div)位于行的顶部,我想使其与行底部对齐。
左div(第一div)和中心div(第二div)内的内容不是恒定的,可以设置为任何图像,这意味着这两个div的高度不是固定的。我通过添加具有一定高度和宽度的div在这2个div中模拟了图像内容,并在最右边的div中模拟了一些内容。
是否可以使用CSS进行此操作,如果可以,我该怎么做?我不想使用表格元素,而只在HTML中使用div。
我在jsbin上也有这个:http : //jsbin.com/yovukinu/2/edit?html,输出
<div style="float: left; text-align: left;
margin: 0 auto; padding:0px;" id="divLogo">
<!--some image i.e. img content goes here-->
<div style='height:120px;width:250px;border:solid 1px green'>IMAGE CONTENT goes here </div>
</div>
<div style="float: left; margin-left:100px; " id="divTopAd" runat="server" >
<!--some image i.e. img content goes here-->
<div style='height:240px;width:310px;border:solid 1px red'>IMAGE CONTENT goes here </div>
</div>
<div style="float:right;margin-right:15px; margin-bottom:4px;padding:0px;"
id="divRS">
<!--some non-image content goes here-->
<div style='font-weight:bold; height:30px;border:solid 1px yellow'> Some Non-Image Content </div>
</div>
<div style='clear:both'>/div>
如下面的屏幕截图所示。
更新1:您可以在以下URL上看到建议的答案:http : //jsbin.com/yovukinu/6/edit?html,output。请注意,如果在div CSS中使用表类型显示,则需要删除CSS float。
更新2:我发现使用jQuery的另一个答案,这也使上述html在IE 7中也可以工作,否则可以使用标记的答案,但在IE 7中不起作用。我使用以下jQuery使它在IE7和所有版本中都可以工作其它浏览器。
在此jQuery中,我获得了所有3个div中的最大高度, 然后将最右边的div的顶部边距设置为 (Max。Height-Height of RightMostDiv)。jQuery非常出色,并且在动态调整CSS方面非常强大,这就是我在这里所做的。
您可以在以下URL上看到它的运行情况:http : //jsbin.com/yovukinu/5/edit?html,输出(请确保在通过拖动其左边框使“输出”窗格足够宽之后,单击“使用JS运行”按钮,否则您将看不到此操作)
<script type="text/javascript">
$(document).ready(function () {
var div1 = $("#divLogo");
var div2 = $("div[id*='divTopAd']");
var div3 = $("#divRS");
var ht1 = 0;
if (div1 != null) {
ht1 = div1.height();
if(ht1 == null)
{
ht1 = 0;
}
}
var ht2 = 0;
if (div2 != null) {
ht2 = div2.height();
if (ht2== null) {
ht2 = 0;
}
}
var ht3 = 0;
if (div3 != null) {
ht3 = div3.height();
if (ht3 == null) {
ht3 = 0;
}
}
var maxht = 0;
if(ht1 >= ht2)
{
maxht = ht1;
}
else
{
maxht = ht2;
}
if(maxht < ht3)
{
maxht = ht3;
}
if (maxht > (ht3 + 10) && div3 != null)
{ div3.css("margin-top", (maxht - ht3) + "px"); }
});
</script>
不是表元素,但是您可以设置一个wrapper divdisplay: table
并将其设置display:table-cell
为这3个div来使用它们,就像处理表格单元格一样。
编辑:
在表格单元格中,您可以使用垂直对齐
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句