css - 如何在具有固定高度的 flex 容器中缩小响应式图像
问题描述
我想在一个固定高度的 flexbox 容器中显示一些包含图像的 div 和两个带有文本的 div。这些 div 代表带有专辑封面、歌曲名称和艺术家姓名的曲目。
像这样:
<div class="flex-container">
<div class="track">
<img class="track--image" src="http://lorempixel.com/400/400/">
<div class="track--artist-name">Artist</div>
<div class="track--track-name">Song</div>
</div>
<div class="track">
.
.
.
</div>
CSS:
.flex-container {
display: flex;
width: 100%;
height: 100px;
background-color: lightblue;
}
.track {
border: 1px solid black;
text-align: center;
max-width: 9rem;
color: black;
}
.track--image {
width: 100%;
border-radius: 50%;
}
.track--name,
.track--artist-name {
width: 100%;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
问题是图像的宽度为 100% 以适合其父 div。但这也意味着它溢出了它的父级。并且 div 中的两个 div 也track
被推到其父母之外。
如何防止图像对于其父 div 太大,以便图像和两个 div 适合父级?
我还准备了一个 codepen 来更好地描述问题:https ://codepen.io/anon/pen/YBQGRb
编辑:
我的期望是这样的: 你可以看到浅灰色的容器是我的 flex-container 我想要有我的轨道 div。即使弹性容器的高度发生变化,图像和这两个文本也应该适合。
解决方案
我现在像这样解决了我的问题:
.track--image {
height: 66%;
border-radius: 50%;
}
这不适用于 flex-container 的每个高度,但在我的情况下是可以的。
推荐阅读
- python - 如何加快 pandas Dataframe 的 np.linsolve 方法?
- docker - 是否可以清除 docker 容器日志文件 - 运行中?
- python - 将数据帧写入mysql的最快方法是什么?
- c - C中的类型转换查询
- machine-learning - 如何从经过训练的连续发射隐马尔可夫模型生成模拟数据
- javascript - 在节点模块中将 React 应用程序与 Parcel 捆绑在一起
- ruby-on-rails - 运行 rails g rspec 时出错:在 AWS cloud9 终端中安装
- javascript - 分页时数据表每页增加行数
- reactjs - 在 Axios 请求后,我的 React 状态仍然为空
- debugging - 如何调试 libcurl 以解决 IMAP 问题