在背景颜色背景图像之间分层文本



我有一个文本块,它希望它位于块的背景颜色上方和块的背景图像下方。 我知道我可以创建多个块并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>

最新更新