将图像与同一行上的文本左侧对齐 - Twitter Bootstrap3

Posted

技术标签:

【中文标题】将图像与同一行上的文本左侧对齐 - Twitter Bootstrap3【英文标题】:Align image to left of text on same line - Twitter Bootstrap3 【发布时间】:2012-08-07 16:25:39 【问题描述】:

目前我在同一行上有一个段落标题和一个图像:

<div class="paragraphs">
  <div class="row">
    <div class="span4">
      <div class="content-heading"><h3>Experience &nbsp </h3><img src="../site/img/success32.png"/></div>
      <p>Donec id elit non mi porta gravida at eget metus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
    </div>
  </div>
</div>

这很好用 - 内容标题和图像在同一行。但是,当我将图像放在内容标题 div 之前时,它们不再位于同一行。这就是我想要实现的 - 图像然后是内容标题 - 在同一行。

【问题讨论】:

【参考方案1】:

从 Bootstrap v3.3.0 开始,您可以使用 .media-left.media-body

<div class="media">
    <span class="media-left">
        <img src="../site/img/success32.png" >
    </span>
    <div class="media-body">
        <h3 class="media-heading">Experience</h3>
        ...
    </div>
</div>

文档:https://getbootstrap.com/docs/3.3/components/#media

【讨论】:

【参考方案2】:

使用嵌套列

要将您的内容嵌套在默认网格中,请在现有的 .col-sm-* 列中添加一个新的 .row 和一组 .col-sm-* 列。嵌套行应包含一组不超过 12 列的列(不需要使用所有 12 个可用列)。

<div class="row">
  <div class="col-sm-9">
    Level 1: .col-sm-9
    <div class="row">
      <div class="col-xs-8 col-sm-6">
        Level 2: .col-xs-8 .col-sm-6
      </div>
      <div class="col-xs-4 col-sm-6">
        Level 2: .col-xs-4 .col-sm-6
      </div>
    </div>
  </div>
</div>

【讨论】:

【参考方案3】:

我会使用 Bootstrap 的网格来达到预期的效果。 class="img-responsive" 效果很好。比如:

    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3"><img src="./pictures/placeholder.jpg" class="img-responsive"   ></div>
            <div class="col-md-9"><h1>Heading</h1><p>Your Information.</p></div>
        </div>
    </div>

【讨论】:

我也想知道为什么。我以前使用过这种方法,它对我有用。根据提出的问题,这似乎是一个合适的解决方案。 它为图像和文本添加了一堆填充。 @StefanD 有许多不同的方法可以修复填充/排水沟。以下是一些可能有帮助的答案:How to adjust gutter in Bootstrap 3 grid system 或 Bootstrap 3 Gutter Size【参考方案4】:

对于引导程序 3。

<div class="paragraphs">
  <div class="row">
    <div class="col-md-4">
      <div class="content-heading clearfix media">
           <h3>Experience &nbsp </h3>
           <img class="pull-left" src="../site/img/success32.png"/>
      </div>
      <p>Donec id elit non mi porta gravida at eget metus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
    </div>
  </div>
</div>

【讨论】:

span4 未在 Bootstrap 3 中使用【参考方案5】:

使用 Twitter Bootstrap 类可能是最好的选择:

pull-left 使元素向左浮动 clearfix 允许元素包含浮动元素(如果尚未通过其他类设置)
<div class="paragraphs">
  <div class="row">
    <div class="span4">
      <div class="clearfix content-heading">
          <img class="pull-left" src="../site/img/success32.png"/>
          <h3>Experience &nbsp </h3>
      </div>
      <p>Donec id elit non mi porta gravida at eget metus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
    </div>
  </div>
</div>

【讨论】:

其实Bootstrap for media中有一些特殊的类(比如图片)对齐了发帖人想要的:mediamedia_headermedia_body @RaulPinto 确实如此,但它并不是很宽松,而且它与 OP 的布局不匹配:jsbin.com/ipuyut/2/edit 如何让文字与图片居中? @Imray 垂直对齐没有一种解决方案。搜索并选择最佳匹配(关键字垂直对齐文本图像)【参考方案6】:

你可以使用浮动:

<div class="paragraphs">
  <div class="row">
    <div class="span4">
      <img style="float:left" src="../site/img/success32.png"/>
      <div class="content-heading"><h3>Experience &nbsp </h3></div>
      <p style="clear:both">Donec id elit non mi porta gravida at eget metus. Etiam porta sem malesuada magna mollis euismod. Donec sed odio dui.</p>
    </div>
  </div>
</div>

如果您希望以下 &lt;p&gt; 也保持在同一行,请将其删除

style="clear:both"

但是你应该添加

<div style="clear:both"></div>

在它之后。

【讨论】:

以上是关于将图像与同一行上的文本左侧对齐 - Twitter Bootstrap3的主要内容,如果未能解决你的问题,请参考以下文章

如何在移动屏幕上的文本顶部对齐右侧图像

Twitter bootstrap 3 - 在一行中垂直对齐列[中]

将文本垂直对齐到左侧的浮动图像

如何在 ASP.NET 中垂直对齐对象?

需要垂直文本从底部开始与横幅左侧对齐

如何将图像垂直对齐到某些文本第一行的中心?