在背景颜色背景图象之间的层文本

时间:2014-12-10 22:01:02

标签: javascript html css z-index

我有一个文本块,它希望它在块的背景颜色之上,在块的背景图像下方。我知道我可以创建多个块并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,但是,这不是我的意图。我知道可以做多种其他方式。我只是想通过这种方式找出我是否可以做到这一点。

1 个答案:

答案 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>