【问题标题】:How to bottom align all elements within the div row?如何底部对齐 div 行中的所有元素?
【发布时间】:2014-12-11 00:03:07
【问题描述】:

我有一排由四列组成。每列包含 3 个中心对齐的东西:文本输出、标签和图像。图像的大小不同,因此对齐已关闭。我想将每列中的所有元素都对齐到底部,以便在整个行中保持一致。

我试过了

style="text-align:bottom;" bottom:0, vertical-align:bottom;"

似乎没有什么不同。

我的代码是:

<div class="row">
    <div class="col-xs-12">
        <div class="col-xs-6 col-md-2">
            <div align="center"><img src="@Url.Content("random.png")" /></div>
            <div id="Text1" class="text-center">1</div>
            <div class="text-center">Label1</div>
        </div>
        <div class="col-xs-6 col-md-2 col-md-offset-1">
            <div align="center"><img  src="@Url.Content("random2.png")" /></div>
            <div id="text2" class="text-center">2</div>
            <div class="text-center">Label2</div>
        </div>
        <div class="col-xs-6 col-md-2 col-md-offset-1">
            <div align="center"><img  src="@Url.Content("random3.png")" /></div>
            <div id="text3" class="text-center">3</div>
            <div class="text-center">Label3</div>
        </div>
        <div class="col-xs-6 col-md-2 col-md-offset-1">
            <div align="center"><img  src="@Url.Content("random.png")" /></div>
            <div id="text2" class="text-center">3.4</div>
            <div class="text-center">Label</div>
        </div>
    </div>
</div>

另外,有人告诉我填充会影响引导程序在不同显示器中对齐内容的方式。 有什么建议吗?

谢谢,提前

【问题讨论】:

  • 尝试使用:style="text-align:bottom; bottom:0; vertical-align:bottom;" (纠正几个错误)
  • 问题可能是由于您的列div (.col-xs-6) 是浮动的并且是块而不是内联元素,因此垂直对齐无法按预期工作。你需要不同的标记来做到这一点,也许通过使用 CSS 表格单元格。
  • 谢谢@MarcAudet 我去看看

标签: html css twitter-bootstrap model-view-controller frontend


【解决方案1】:

您可以使用更少的类和包装器实现相同的布局,并且不会出现填充问题。当您将列嵌套在列中时,它们必须在所有情况下都被 .row 包围,否则您会在外边缘遇到双重装订线问题。 在所有这些之外,必须有一个 .container-fluid 或一个 .container 来调整 .row 的 L 和 R 的负边距。你不嵌套 .container/.container-fluid

这是修改后的版本。试试看。

演示:http://jsbin.com/huhamu/1/

请注意,在这种情况下,当您在 .col-xs-6 上使用 inline-block 时,您必须删除由 display:inline/inline-block 样式创建的空格。这可以通过将您的 html 与 cmets 原样格式化如下来完成(或者您可以将父级的字体大小归零并将其应用于子级):

<div class="container">
   <div class="row inline-block-row text-center">
      <div class="col-xs-6 col-md-3">
         <img src="@Url.Content("random.png")" />
         <div id="Text1">1</div>
         Label1
      </div><!--comment
--><div class="col-xs-6 col-md-3">
         <img  src="@Url.Content("random2.png")" />
         <div id="text2" class="text-center">2</div>
         Label2 this is a test
      </div><!--comment
--><div class="col-xs-6 col-md-3">
         <img  src="@Url.Content("random3.png")" />
         <div id="text3" class="text-center">3</div>
         Label3
      </div><!--comment
--><div class="col-xs-6 col-md-3">
         <img  src="@Url.Content("random.png")" />
         <div id="text2">3.4</div>
         Label
      </div>
   </div>
</div>  

CSS:

.inline-block-row .col-xs-6 {
  border:1px solid red;
  float:none;
  display:inline-block; /* the default is baseline, so no need to add vertical alignment in your case*/
}

图片:

如果您有比视口更大的图像(在任何大小的视口中),请将以下类放在它们上,以使其具有响应性并使其居中。

<img src="myimage.png" class="img-responsive center-block" alt="" />

【讨论】:

  • col-xs-12 没必要,小时候已经100%了。
猜你喜欢
  • 2021-10-14
  • 2021-06-12
  • 1970-01-01
  • 2023-03-31
  • 2013-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多