将元素背景不透明度与其内容不透明度分开

时间:2017-04-09 06:58:15

标签: html css css3

我想得到这个: The Target& How it looks like 问题是我的代码是这样的:

HTML

from functools import reduce
from collections import defaultdict
import re

file_text = """
First line
It was a good day :)
Third line
It was a decent day :|
Fifth line
It was a bad day :(
"""

word_dict = defaultdict(set)

for line_no, line in enumerate(file_text.split('\n')):
    for word in re.split('\\s+', line):
        word_dict[word].add(line_no)


def lines_containing_all(*words):
    return reduce(lambda a, b: a & b, (word_dict[word] for word in words))

print(lines_containing_all('It', 'was'))

CSS:

<body>
    <header>
        <nav>
            <h1>whiterose</h1>
            <ul>
                <li><a href="">home</a></li>
                <li><a href="">us</a></li>
                <li><a href="">contact</a></li>
            </ul>
        </nav>
    </header>

那么为什么即使我将元素追加到父元素(标题),它们仍然应用了不透明度属性?

3 个答案:

答案 0 :(得分:4)

你需要为标题的背景赋予不透明度,而不是它的内容:

header {
    background: rgba(0,0,0,0.7);
}

检查代码段中的演示:

div {
  position: absolute;
  top: 0px;
  background: rgba(255,0,0,0.5);
  width: 300px;
  height: 150px;
  font-size: 50px;
  color: white; 
}
<img src="http://lorempixel.com/400/200/" />
<div>Your Text Goes Here</div>

答案 1 :(得分:1)

您需要使用rgba属性的background-color值。 我用这个创建了一个jsfiddle。

jsfiddle

您可以使用不透明度值来满足您的需求

答案 2 :(得分:1)

如果你设置了父元素的不透明度,它的子元素将自动获得相同的不透明度。如果你试图聪明并定义子元素的不透明度,相信我它将无效。

所以,这里的解决方案非常简单。您希望标题颜色为#5d5e62,不透明度为0.7。只需在rgb中转换此十六进制值并将背景颜色定义为

background: rgba(93,94,98,0.7);

这样所有子元素都将具有不透明度1,而背景颜色将具有不透明度0.7。

我希望这可以解决你的问题。