【问题标题】:Divs in the same column won't align vertically同一列中的 div 不会垂直对齐
【发布时间】:2016-05-12 20:40:47
【问题描述】:

我正在为我的网站建立一个“团队”部分,如果我想定义它们的宽度,与成员 img 和上面的成员标题位于同一列中的 member_body div 会滑到一边。在这种情况下可能会出现什么问题?我希望它们垂直对齐并具有相同的宽度。

.member {
  padding: 30px;
  text-align: center;
  position: relative;
}
.member img {
  max-width: 250px;
  margin: 20px auto 0px auto;
}
.member h3 {
  margin: 30px 0px;
}
.member_body {
  border: 1px solid red;
  max-width: 250px;
  overflow: hidden;
  height: 200px;
}
.member_body span {
  margin-top: 20px;
  font-size: 30px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<div id="team">
  <h1>Our Team</h1>
  <div class="separator2"></div>
  <div class="container-fluid">
    <div class="row">
      <div class=" col-md-6">
        <div class="member">
          <h3>Member One</h3>
          <img src="photos/team-member-1.jpg" alt="Team Member 1">
          <div class="member_body">
            <h5>Position</h5>
            <div class="separator"></div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</br>Voluptates praesentium nulla cupiditate!</p>
            <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>
          </div>
        </div>
      </div>
      <div class=" col-md-5">
        <div class="member">
          <h3>Member 2</h3>
          <img src="photos/team-member-2.jpg" alt="Team Member 2">
          <div class="member_body">
            <h5>Position</h5>
            <div class="separator"></div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</br>Voluptates praesentium nulla cupiditate!</p>
            <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>
          </div>
        </div>
      </div>
      <div class="col-md-1"></div>
    </div>
  </div>
</div>

`

【问题讨论】:

  • 边距:20px 自动?在 member_body 类中?

标签: html css twitter-bootstrap twitter-bootstrap-3


【解决方案1】:

您使用 3 列 (col-md-6+ col-md-5 + col-md-1),只需使用 2 (col-md-6 + col-md-6)

更新

  • 如果您希望width 与图像具有相同的width 并保持图像居中,请将margin:auto 添加到member_body

  • 从 CSS 中的 img 中删除 max-width:250px 并将 class="img-responsive" 添加到标记 img

备注

  • 为演示添加了col-xs-*
  • 您的&lt;/br&gt;无效,应为&lt;br&gt;&lt;br /&gt;

.member {
  padding: 30px;
  text-align: center;
  position: relative;
}
.member img {
  margin: 20px auto 0;
}
.member h3 {
  margin: 30px 0px;
}
.member_body {
  border: 1px solid red;
  max-width: 250px;
  overflow: hidden;
  height: 200px;
  margin:auto
}
.member_body span {
  margin-top: 20px;
  font-size: 30px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div id="team">
  <h1>Our Team</h1>
  <div class="separator2"></div>
  <div class="container-fluid">
    <div class="row">
      <div class="col-xs-6 col-md-6">
        <div class="member">
          <h3>Member One</h3>
          <img class="img-responsive" src="//lorempixel.com/250/200" alt="Team Member 1">
          <div class="member_body">
            <h5>Position</h5>
            <div class="separator"></div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit.
              <br />Voluptates praesentium nulla cupiditate!</p>
            <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>
          </div>
        </div>
      </div>
      <div class="col-xs-6 col-md-6">
        <div class="member">
          <h3>Member 2</h3>
          <img class="img-responsive" src="//lorempixel.com/250/200" alt="Team Member 2">
          <div class="member_body">
            <h5>Position</h5>
            <div class="separator"></div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates
              <br />praesentium nulla cupiditate!</p>
            <span class="glyphicon glyphicon-envelope" aria-hidden="true"></span>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

【讨论】:

  • 不过,最后一列只是为了美观,它(应该是)完全独立的,它与上面的 col-md-5 是同一列。我已经在我的代码中尝试过它,但它仍然分崩离析:-/
  • 愿意为您的网站提供链接吗?我现在不在电脑前,但我会尽快看看。我不知道现在是什么问题。
  • 同时我检查了边距:0px auto;它解决了我的问题!可能问题在于 body 的属性没有遵循 img 的属性。
  • 看看我的更新。我几分钟前更新了,但忘了在这里发表评论
  • 现在肯定可以了,谢谢!但是如果您不介意,我还有最后一个问题:如果没有将父元素精确设置为该大小,“img 响应”类从哪里继承所需的大小?就这样我将来知道如何巧妙地使用它。再次感谢! :)
【解决方案2】:

如果要垂直对齐它们,请使用多个&lt;div class="row"&gt;

所以,每个&lt;div class="row"&gt; 1 个团队

【讨论】:

  • 不是我要对齐的团队成员,而是 2 个成员与 2 个成员身体的照片:) 你是这个意思吗?
  • 这不是 OP 想要的
猜你喜欢
  • 1970-01-01
  • 2013-11-30
  • 2013-12-10
  • 1970-01-01
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多