我有一个文本块,它希望它位于块的背景颜色上方和块的背景图像下方。 我知道我可以创建多个块并z-index
它们。 我想保持代码尽可能干净,而不是一堆不必要的东西。
猜答案是否定的,但也许你们知道我做的事情(也许是一个漂亮的新背景属性或 JavaScript 函数)。
网页代码:
<section role="main" id="content">
<h1 class="pageheading">Home Page</h1>
</section>
CSS代码:
#content {
background-color:#69583b;
background-image:url(tattoo-256x256.png);
background-position:center bottom;
background-repeat:no-repeat;
}
显然,就目前而言,文本"主页"位于图像的顶部。
合乎逻辑的想法很简单,就是使用<img>
并position:absolute
它,但同样,这不是我的意图。 我知道多种其他方法可以做到这一点。 我只是想看看我是否可以做到,这样。
你可以用CSS伪类来做到这一点。 (我添加了不透明度,只是作为演示的一部分):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
#content {
background-color:#69583b;
background-position:center bottom;
background-repeat:no-repeat;
position: relative;
}
#content::after {
content: "";
position: absolute;
z-index: 2;
width: 100%;
top: 0; bottom: 0; left: 0; right: 0;
background: url(http://placehold.it/256x256);
opacity: 0.8;
}
</style>
</head>
<body>
<section role="main" id="content">
<h1 class="pageheading">Home Page</h1>
</section>
</body>
</html>