【发布时间】:2023-03-20 22:17:01
【问题描述】:
我在尝试复制这个时遇到了麻烦:
我似乎无法让图像占据容器宽度并与黑框重叠。我有一个工作副本,但它对移动/桌面不友好。这是 codepen 中的一个简单示例:https://codepen.io/pandar3n/pen/jQqvjm
HTML:
<div class="test-container">
<div class="wrapper">
<div class="test-img"><img src="https://placekitten.com/800/300" /></div>
<div class="test-text">
<div class="testtext-inner">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae
est. Mauris placerat eleifend leo.</p>
</div>
</div>
</div>
</div>
<div class="test-container alt">
<div class="wrapper">
<div class="test-img"><img src="https://placekitten.com/800/300" /></div>
<div class="test-text">
<div class="testtext-inner">
<p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
</div>
</div>
</div>
SCSS
*{
font-family: sans-serif;
}
.test-container {
.wrapper {
max-width: 80vw;
margin: 50px auto;
position: relative;
display: flex;
height: 80vh;
}
.test-text {
width: 50%;
background-color: #aaa;
display: flex;
align-items: center;
justify-content: center;
}
.testtext-inner {
display: flex;
align-items: center;
justify-content: center;
width: 50%;
}
.test-img {
width: 50%;
align-self: center;
img {
transform: translateX(80px);
}
}
&.alt {
.test-text {
order: 1;
.testtext-inner {
padding-right: 150px;
padding-left: 50px;
}
}
.test-img {
order: 2;
img {
transform: translateX(-80px);
}
}
}
}
设法让交替布局工作,但图像不会占据左/右的空白。
60% 50% 的弹性是否可行?
【问题讨论】:
-
您正在使用
transform()函数将图像向右/向左移动。这会将其从容器的边缘移开,因此它可以与其同级重叠。不确定你想要什么......重叠和全宽?那么你想增加图片的大小吗? -
我尝试将图像宽度设置为 100%,但它不起作用,但理想情况下它是重叠和全宽的图像。我正在考虑调整文本容器的宽度,使其看起来像全宽,但它可能会弄乱包裹网站的整个容器的宽度。 60% 50% 的弹性会起作用吗?我之前的尝试是让两个 50% 的 div 由 flex 控制,然后图像就会覆盖在上面。