html - 在css中将文本覆盖在图像上?
问题描述
<!DOCTYPE html>
<html>
<head>
<title>Overlay text over img</title>
<style>
p{
position:absolute;
top: 80px;
left: 80px;
color: white;
}
</style>
</head>
<body>
<img src="../images/finnish.jpeg" alt="Clean">
<p>Clean</p>
</body>
</html>
我的问题是为什么人们将 img 和 text 放在 html 中的 div 中,然后在 css 中将img的位置设置为relative并将文本的位置(在本例中为 p )设置为absolute。我尝试了上面的代码,它仍然可以在没有将img的位置设置为relative的情况下工作。有人可以为我解释为什么人们这样做吗?
解决方案
当您设置position: absolute
元素的位置时,它会根据它找到的具有位置相对关系的第一个元素来设置。所以如果你不设置它,它可能会崩溃。
推荐阅读
- java - 使用 REST api 发送资金属性 - 是否使用引号?
- debugging - pinterest url 调试器导致重定向循环
- swift - 本地通知覆盖以前的本地通知
- javascript - 在 MysQl nodeJS 查询中转义数据数组的最佳方法
- c - 如果目的地不存在,sendto() 不会产生错误
- r - 如何缩放具有广泛范围的变量并在 ggplot 的单个图中显示相同的变量
- c# - 在按钮单击时切换到动态创建的 TabPage
- android - 当另一个应用程序发送“打开文件”意图时,如何让我的 FileProvider 提供文件?
- c# - ASP.Net Core 2.1 Web Api 2 和 Active Directory 凭证
- javascript - 亚马逊支付与 Javascript 和 PHP 的集成 - PaymentPlanNotSet