如何将一个透明的png图片放置在一个DIV上,而不影响HTML文档中的其他内容?我会使用绝对定位(position absolute),因为它可以使其脱离“正常文档流”,但是我整个网站都使用了“margin-left: auto;”和“margin-right: auto;”来居中。
如果你给想要覆盖的div应用position: relative
,那么在图片上应用position: absolute
时,计算相对于被覆盖的div而不是整个页面,如果它是一个子元素。例如:
<div id="tobecoverd">
<p>your content...</p>
<img src="./img/transparent.png" class="cover" />
</div>
div#tobecovered{
position: relative;
}
div#tobecovered img.cover{
position: absolute;
/* position in top left of #tobecovered */
top: 0; /* top of #tobecovered */
left: 0; /* left of #tobecovered */
}
另一种解决方案是像这样使用 after:
.image:after{
content: "";
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: url(https://i.imgur.com/DDdKwlk.png) no-repeat 0 0;
background-size: cover;
}
:)
我认为使用浮动是一个不会阻塞其他元素的好方法,而使用绝对定位,某些元素将会被隐藏在其下方或显示在其上方,这取决于它们的z-index。
这篇CSS定位的教程很不错,你可以看一下,也许能找到你需要的东西。
我认为position:absolute
更适合普通用途,因为它会随着滚动而移动。
这是它的工作原理。示例显示了一个绝对定位在另一张图像上方的透明图像,创建了一个遮罩。
您可以在React js中的class_name中使用此CSS(在HTML中为class="class_name"),以显示一个div作为弹出窗口(弹出)或发送回。
<div classname="class_name">
...
</div>
.class_name{
position: absolute;
/**Put div hide*/
/**z-index: -9;*//
/**Put as pop up*/
/**z-index: 9;*//
}