我有一个文本块,它希望它在块的背景颜色之上,在块的背景图像下方。我知道我可以创建多个块并z-index
。我希望尽可能保持代码清洁,而不是有一堆不必要的东西。
我猜答案是“不”,但也许你们知道我做的事情(也许是一个漂亮的新背景属性或JavaScript函数)。
HTML代码:
<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
,但是,这不是我的意图。我知道可以做多种其他方式。我只是想通过这种方式找出我是否可以做到这一点。
答案 0 :(得分:1)
你可以用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>