CSS/HTML 使文本相对于图像大小保持不变?

Posted

技术标签:

【中文标题】CSS/HTML 使文本相对于图像大小保持不变?【英文标题】:CSS/HTML make text stay the same position relative to an image resizing? 【发布时间】:2015-11-09 04:00:43 【问题描述】:

如何做到这一点,以便在图像调整大小时,文本在调整大小时相对于图像保持在相同的位置。以下是目前正在发生的事情:

全屏视图:

调整大小:

当图像变小时,文本不会停留在同一个地方,当图像调整大小时,如何使文本保持在同一个位置(在指向它的线下)?

相关代码:html

<div id="BG1">
        <div id="BG2">
<div id="slide1">
    <p1>Choose<br>
        your<br>
        Route</p1>
    <p2 id="Tongariro">Tongariro</p2>
<img src="img/NZ6.png" id="NZi2" >   
    </div>
    </div>
    </div>  

CSS:

* 
    margin:0;
    padding: 0;
    
slide1, #slide2 width: 100%;  

#slide1
    height: 600px;
    margin: 0;
    padding: 200px 0 260px 0;

#BG1
    background: url("../img/IMG_3708.jpg");
    background-size: cover;

    
#BG2
    background-color: rgba(103, 128, 159,0.79);

#Tongariro
position: relative;
top:27%;
left:34%;
font-size:40px;

#NZi
    width:35%;
    display:block;
    clear:both;
    margin: 0;
    position: absolute;
    z-index: 0;
    top: 55%;
    left: 60%;
    transform: translate(-50%, -50%) ;
    

【问题讨论】:

如果文字需要随着时间的推移保持不变,您应该通过photoshop或任何图像编辑软件编辑图像并将此文字添加到您想要的位置。这样你就不需要编写任何额外的代码了。 @TarunMahashwari 我不同意这种方法,尽管它会起作用。原因是,这是一个q&d 临时掩饰——例如,如果他需要挤入更多文本,他可能需要调整图像大小——并且有足够的内容来调整大小,没有图像大小是有效的。 请阅读我之前评论的第一行。 如果文本需要随着时间的推移保持不变 【参考方案1】:

您通过px 定义距离 - 这意味着,即使窗口调整大小,距离也保持不变 - 它是固定数量的像素,因此与窗口大小无关。

更好的单位是% - 即,

#slide1

height: 30%;
margin: 0;
padding: 10% 0% 12% 0%;

这样,距离将与屏幕大小相关,如果您正确调整数字,所有内容都将保持在您想要的位置 - 窗口已满或调整大小。

Read more! :)

【讨论】:

意思是使用%比px好? @FiidoFirdauz 并非总是如此。对他来说,在这种情况下,是的。看看我刚刚编辑的链接。 如果需要固定高度怎么办? @user3459426 %px 之间的混合是错误的,因为随着布局变得部分流动,它不适用于某些尺寸。你不能有一个流动的固定元素,这两个相互否定。它要么是固定的,要么是相对的。

以上是关于CSS/HTML 使文本相对于图像大小保持不变?的主要内容,如果未能解决你的问题,请参考以下文章

css / html5:拖放后悬停状态保持不变

怎样使用CSS 是图片与浏览器的大小保持一致 并且 图像不变形 就像QQ空间登录的 页面一样

如何在浏览器宽度调整大小但保持相同高度时自动调整图像大小?

使用VBA在Excel填充单元格中插入多个图像,但保持宽高比

在 Flutter 中保持响应的同时制作持久的背景图像

cesium线段大小保持不变