仅使用CSS尝试使最右边的div对齐到底部

苏尼尔

我有一些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>

如下面的屏幕截图所示。 最右边的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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

仅使用Vim和Tabular插件对齐最右边的列

来自分类Dev

将浮动div对齐到底部

来自分类Dev

将Div中的按钮对齐到底部

来自分类Dev

无法将 div 居中对齐到底部

来自分类Dev

使用LinearLayout将按钮对齐到底部

来自分类Dev

使用CSS仅隐藏Div的底部阴影

来自分类Dev

CSS对齐div底部的文本

来自分类Dev

CSS repeat-x仅适用于最右边的像素行

来自分类Dev

将div对齐到底部而不将其从流中删除

来自分类Dev

如何将div中的sth对齐到底部?

来自分类Dev

CSS-在屏幕底部对齐div,而不使用位置:绝对

来自分类Dev

如何使用mysql join从最右边的表仅返回一行

来自分类Dev

尝试使用 CSS 在页面底部排列单独的 div

来自分类Dev

在不使用CSS位置的情况下将div固定到底部

来自分类Dev

仅显示字符串的最右边部分

来自分类Dev

通过CSS滚动到底部时如何隐藏DIV?

来自分类Dev

如何使用jQuery向下滚动到底部子div

来自分类Dev

使Div自动调整大小取决于元素-两列一一对齐到底部

来自分类Dev

在不更改HTML的情况下将当前浮动的div对齐到底部

来自分类Dev

如何将 div bootstrap 网格中的文本对齐到底部?

来自分类Dev

使用香草Javascript / CSS自动滚动到底部-Polymer

来自分类Dev

Android表行对齐到底部

来自分类Dev

将表格水平对齐到底部中心

来自分类Dev

在Android中将RelativeLayout对齐到底部

来自分类Dev

将div强制到底部

来自分类Dev

将div强制到底部

来自分类Dev

从顶部到底部垂直对齐文本HTML5 CSS3

来自分类Dev

从顶部到底部垂直对齐文本HTML5 CSS3

来自分类Dev

CSS按钮对齐底部