【发布时间】:2020-03-07 15:50:14
【问题描述】:
我会尽量让这听起来更简单。
我正在尝试并排放置 2 个 div 容器,并让它们始终保持相同的高度。
正确的 div 将是常规文本。由于我计划将其用于不同的页面,因此此处的文本数量会有所不同。
左侧的 div 将由 2 个较小的容器组成 - 一个标题块和一个位于其下方的图像块。
这是我想要实现的视觉示例。绿色框应该是完整的照片
我希望左侧图像块中的照片占据框的整个高度/宽度 - (类似于 CSS 中使用的 background-position:cover)。我更喜欢使用常规的 img 标签,而不是将其设置为 div 背景。
我遇到的问题是左侧的图像高度优先于右侧的文本框,并导致两个容器看起来比我想要的长得多。我希望右边的文本块优先,图像块根据它改变高度。
我尝试过使用 object-fit: contains,但很遗憾,它不起作用。我得到的最接近的是使用宽度:100%,但它会使高度太大。
这是我目前所拥有的:
.main {
display: flex;
}
.main .left {
width: 40%;
float: left;
}
.main .left .title {
background-color: black;
text-align: center;
display: block;
height: 90px;
padding: 50px;
color: white;
font-size: 40px;
}
.photo {
height: auto;
width: 100%;
}
.photo img {
width: 100%;
}
.main .right {
width: 60%;
float: right;
}
<div class="main">
<div class="left">
<div class="title">This is my Title</div>
<div class="photo"><img src="https://image.shutterstock.com/z/stock-photo-pastoral-green-field-with-long-shadows-in-tuscany-italy-275372477.jpg"></div>
</div>
<div class="right">
<p>text goes here lalalalalala</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
</div>
</div>
【问题讨论】:
-
您想要拉伸或裁剪图像吗?您是否有理由需要它作为 img 标签?
-
裁剪没问题。我更喜欢图像标签,这样我的团队成员可以简单地更改页面上的图像,而无需一直修改 CSS
-
为什么不直接把图片内联?
标签: html css image responsive-design