css - 如何使用 css 填充 IMG 的 DIV 高度以及居中 IMG?

标签 css centering

如何用 img 填充 div 容器高度并使 img 居中?

在下面的例子中,我想让狗的图片填满容器的高度,它必须保持比例,所以我不在乎它有多宽。

而且无论屏幕的宽度如何,我都希望狗图片位于容器的中心。

HTML

<div class="posts">
  <div class="post">
    <div class="single-piece">
      <a>
        <img src="https://images-na.ssl-images-amazon.com/images/G/01/img15/pet-products/small-tiles/23695_pets_vertical_store_dogs_small_tile_8._CB312176604_.jpg">
      </a>
    </div>
  </div>
  <div class="post">
  </div>
  <div class="post">
  </div>
</div>

CSS

.posts {
  display: flex;
  flex-flow: row wrap;
  align-items: strech;
  align-content: stretch;
  width: 90%;
  margin: 0 auto;
}

.post {
  flex: 0 1 calc(33.33% - 0.666em);
  height: 350px;
  overflow: hidden;
  border: 1px solid red;
  margin-right: 1em;

}
.post:nth-child(3n) {
    margin-right: -1em; //needed for codepen only
  }

img {

}

见下面的codepen

看笔egQrZj通过 winchendonsprings ( @winchendonsprings ) 在 CodePen .

最佳答案

将以下 CSS 添加到现有的 CSS。它使 .single-piece DIV 和 img 100% 高,将图像移动到水平中间(使用 margin-left: 50%)并将其移回左侧由其自身宽度的 50%。这将适用于比容器窄的图像(左侧和右侧留有空白)和更宽的图像( overflow hidden )。

.single-piece {
  height: 100%;
}
.single-piece a {
  width: 100%;
  overflow-x: hidden;
}

.single-piece a img {
  height: 100%;
  width: auto;
  margin-left: 50%;
  transform: translatex(-50%);
}

http://codepen.io/anon/pen/PWxaYE

关于css - 如何使用 css 填充 IMG 的 DIV 高度以及居中 IMG?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42169552/

相关文章:

javascript - 如何使用jquery旋转鼠标滚轮上的元素?

html - 如何创建响应式表格列

javascript - 如何使用jquery动态改变css的属性

javascript - Chrome 扩展程序 : CSS Injection on Manifest Version 3

html - Bootstrap Jumbotron 不会缩小以适应

java - 移动位置前 JFrames 的闪烁

html - 将子导航与顶部主导航一起居中

css - 如何在 flexbox 中垂直居中文本?

.net - 将一个控件置于另一个控件的中心

html - 如何将容器 div 中的一个子 div 居中?