为啥使用 CSS 显示在绝对定位图像后面的文本?

Posted

技术标签:

【中文标题】为啥使用 CSS 显示在绝对定位图像后面的文本?【英文标题】:Why is text displayed behind absolute positioned image with CSS?为什么使用 CSS 显示在绝对定位图像后面的文本? 【发布时间】:2013-09-05 10:28:31 【问题描述】:

使用这个 html,我无法理解为什么文本会显示在图像后面:

<div style="position: relative">
<img src="image_url_here" style="position:absolute; top: 10px; left: 10px;" />  
This is some text, drawn on the page after the image, why is it drawn behind the image?
</div>

?

在 Mac 和 PC 上的 Chrome 和 PC 上的 IE 中测试。

【问题讨论】:

【参考方案1】:

这篇文章可以回答你的问题:z-index explained

TL;DR:定位元素堆叠在非定位元素之上,因此只需将position: relative 添加到要堆叠在顶部的文本中。

<div style="position: relative">
    <img src="https://via.placeholder.com/150" style="position:absolute; left: 10px;" />  
    <span style="position:relative">This is some text</span>
</div>

【讨论】:

【参考方案2】:

参考这个https://developer.mozilla.org/en-US/docs/Web/CSS/position

试试这个或根据您的要求设置

<div style="position: relative">
<img src="image_url_here" style="position:relative; top: 10px; left: 10px;" />  
This is some text, drawn on the page after the image, why is it drawn behind the image?
</div>

【讨论】:

【参考方案3】:

这是因为你将图片的位置设置为绝对位置。

【讨论】:

我知道这并不意味着幽默,但这个答案让我崩溃了。 +1 虽然这也让我笑了,但不幸的是,它根本没有帮助。【参考方案4】:

回答可能有点太晚了,但可能对某人有用: 解决方案是将z-index: -1; 设置为图像。可能应该在&lt;p&gt; 中换行。

【讨论】:

以上是关于为啥使用 CSS 显示在绝对定位图像后面的文本?的主要内容,如果未能解决你的问题,请参考以下文章

Java中为啥在字符串中加入了\n还是不能换行,且在eclipse中显示的是换行,找到绝打开文本

CSS:使用图片上的绝对定位标签使图像适合正确的区域

HTML 和 CSS 在图像上定位文本

CSS 定位:相对构建独立的“堆栈”;或者:为啥蓝色害怕红色和黄色?

css如何将图像定位在左下角?

CSS:在相对父级中居中绝对定位文本