使用Squarespace,我想了解如何使用CSS在整个屏幕宽度上分布三个代码块,并使CSS动态以适应不同的屏幕尺寸。
摘要:我在Squarespace的页面上有三个代码块。每个代码块的每个代码块的名称分别为“ codeblock1”,“ codeblock2”和“ codeblock3”(我还标识了诸如#block-be6b8b856f896c0d000之类的块ID)。每个代码块都会显示一张照片。我想利用整个屏幕宽度,并希望代码块平均分布在整个屏幕宽度上,并具有这种动态性以适应不同的屏幕尺寸。
我想了解如何使用CSS进行控制。例如,我已经能够使用代码将最左侧的代码块移至左侧(将左侧边距更改为-300对0):
#block-48747d3bb62b559a0000 {
margin-left: -300px;
margin-right: 0px;
padding-left: 0px;
padding-right: 0px;
max-width: 100%;
但是,如果我改变浏览器的大小,这将不起作用,并且对于其他两个代码块也将不起作用。也许如果有人可以特别说明如何在SS中做到这一点(特别是说明代码应该去哪里),那将是很棒的。
**编辑:
感谢您的快速回复!使用@Chris的解决方案可以正常工作。我进行了以下修改以获得所需的布局:
.image {
width: 33vw
position: absolute;
}
#block-3e9110aac8284e2c1234 {
left: -15vw;
width: 130%;
}
#block-48747d3bb62b559a5678 {
left: -5vw;
width: 130%
}
#block-be6b8b856f896c0d9102 {
left: 5vw;
width: 130%
}
**请注意:对于那些不知道的人,Squarespace的任何网页正文都有固定的边距。如果要使项目跨越整个计算机屏幕,则需要修改CSS以将项目移动到固定边距的左侧或右侧。使用@Chris解决方案,我可以使最左边的div移动到页边距左侧的唯一方法是使用负数vw(-15vw);这样做之后,我必须进行其他修改才能使div在屏幕上平均分配(中间div为“ -5vw”,最右边的div为“ 5vw”)。这可能也与我分配的每个块的大小有关-我最终将它们的大小增加了130%。
我注意到此解决方案引起了一个新问题:当此页面在iPhone上呈现时,图像太大(无法正确调整大小以适合iPhone屏幕),并且图像从左到右依次偏移(他们没有居中)。
答案 0 :(得分:0)
首先,您可以仅使用“ left”来定位图像,而不必使用“ margin-left”。第二,您可以使用“ vw”而不是“%”来调整图像的大小,以使其相对于窗口的宽度始终具有相同的宽度。我试图在下面对此做一个粗略的版本
.image {
width: 33.33vw;
position: absolute;
}
.image1 {
left: 0;
}
.image2 {
left: 33.33vw;
}
.image3 {
left: 66.66vw;
}
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image image1">
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image image2">
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image image3">
答案 1 :(得分:0)
您可以轻松地实现,使用flexbox非常易于使用,现在supported很好。
.container {
display: flex;
}
.imageCont {
width: 33.33%;
}
.image {
width: 100%;
}
<div class="container">
<div class="imageCont">
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image">
</div>
<div class="imageCont">
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image">
</div>
<div class="imageCont">
<img src="https://th.thgim.com/opinion/op-ed/article22695424.ece/alternates/FREE_300/9thscience" alt="image" class="image">
</div>
</div>