我有下面的code(也粘贴在下面),我想在这里做一个两列的布局。在第一列中我放了两张图片,在第二列中显示了一些文本。
在第一列中,我希望第一张图像上有width:70%
,第二张图像上有position:absolute
。
如您所见,第二张图像部分位于768px
以上每个屏幕中的第一张图像中。
我可以部分地定位第二个图像上的第一个,但这不是动态的,如果你改变屏幕尺寸,你可以看到如何崩溃。
但是无论我怎么努力,我都不能达到这个结果。
.checkoutWrapper {
display: grid;
grid-template-columns: 50% 50%;
}
.coverIMGLast {
width: 70%;
height: 100vh;
}
/* this .phone class should be dynamically located partially on first image */
.phone {
position: absolute;
height: 90%;
top: 5%;
bottom: 5%;
margin-left: 18%;
}
.CheckoutProcess {
padding: 5.8rem 6.4rem;
}
.someContent {
border: 1px solid red;
}
/* removing for demo purposes
@media screen and (max-width: 768px) {
.checkoutWrapper {
display: grid;
grid-template-columns: 100%;
}
img {
display: none;
}
.CheckoutProcess {
padding: 0;
}
}
*/
<div class="checkoutWrapper">
<img src="https://via.placeholder.com/300" class="coverIMGLast" />
<img src="https://via.placeholder.com/300/ff0000" class="phone" />
<div class="CheckoutProcess">
<Content />
</div>
</div>
6条答案
按热度按时间3z6pesqy1#
你可以把第一张图片作为背景图片,然后指定你想要的背景大小,然后把第二张图片添加到
<div>
元素中。我只是在代码片段中创建了左边的
div
liwlm1x92#
https://react-2djy5g-tsheob.stackblitz.io/
正如你可以看到从上面的代码和链接你编辑的代码.
您只需要使用
grid-column
并处理模板列来创建一个重叠的幻觉,以创建一个类似于书的感觉。与:
grid-template-columns: 35% 25% 40%;
/* 创建三列以适合两个图像 */grid-row: 1;
/* 在一个轨道/行上设置图像 */grid-column: 1/3;
/* 重叠 */justify-self: end;
/* 将图像放在网格的右侧 */ufj5ltwl3#
使用下面的代码,你就得到了你想要的结构,你所要做的就是使用
width
,height
等来制作你所需要的结构。ldfqzlk84#
您可以使用
transform
和aspect-ratio
来实现以下结果:apeeds0o5#
我编辑了你的code
你写的都是对的。
你只是忘记添加
margin-left: 25%
。无论你使用哪个屏幕,它总是部分位于第一个。(由中心)fslejnso6#
看看这个代码,我为你创建了这个设计,可能会有帮助...
enter image description here