我想让图片和文字保持同步。如果我调整窗口大小,我的图片会自动调整大小,我想使用"vw"单位来让文字与图片保持同步,但效果不是我想要的。内边距出现了冲突,但我不确定正确的解决方法是什么。
以下是我的简单示例:
.main {
padding-left: 20px;
padding-right: 20px;
background-color: white;
position: relative;
}
img {
width: 100%;
}
.text {
font-size: 6.8vw;
position: absolute;
left: 20%;
top: 12%;
}
<body>
<div class="main">
<img src="http://screenshots.chriseelmaa.com/temp/d_slider_1_1_jpg__1918×880__1F40F570.png" />
<span class="text">YOUR SHAPE.</span>
</div>
</body>
JSFiddle: https://jsfiddle.net/zn4odjrc/
正如您所看到的,如果您将浏览器窗口拖得非常小或非常大,文本会与图像失去同步。我该如何处理计算中的固定边距?
我尝试了一些疯狂的东西,例如 font-size: calc(3vw - 40px)
,但并没有成功。
//编辑:
在Nils的帮助下,我设定了行高和字体大小,得到了这个结果:
https://jsfiddle.net/zn4odjrc/6/
我对结果几乎满意,但我不明白为什么第一个字母没有固定,当您将浏览器最小化或放大时,它会移动相当多。
正如您所看到的,顶部和行高似乎已正确固定。我现在不关心字母间距,但是它在水平轴上没有固定,我怀疑这是因为 left: 20%,应该更长一点,而是沿着 left: calc(20px + (100% - 40px) * 0.3) 的线路。