假设我有
<div class="myDiv">Hi there</div>
我想提出一个background-image
并给它一个opacity
的0.5
-但我想,我写的文字将有充分的不透明度(1
)。
如果我这样写CSS
.myDiv { opacity:0.5 }
一切都会变得不透明-我不想要那样。
所以我的问题是–如何获得具有完全不透明度文本的低不透明度背景图像?
假设我有
<div class="myDiv">Hi there</div>
我想提出一个background-image
并给它一个opacity
的0.5
-但我想,我写的文字将有充分的不透明度(1
)。
如果我这样写CSS
.myDiv { opacity:0.5 }
一切都会变得不透明-我不想要那样。
所以我的问题是–如何获得具有完全不透明度文本的低不透明度背景图像?
Answers:
不,这无法完成,因为opacity
会影响整个元素(包括其内容),并且无法更改此行为。您可以使用以下两种方法解决此问题。
将另一个div
元素添加到容器中以保留背景。这是跨浏览器最友好的方法,即使在IE6上也可以使用。
的HTML
<div class="myDiv">
<div class="bg"></div>
Hi there
</div>
的CSS
.myDiv {
position: relative;
z-index: 1;
}
.myDiv .bg {
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(test.jpg) center center;
opacity: .4;
width: 100%;
height: 100%;
}
另一个技巧是使用CSS 2.1:before
或CSS 3::before
伪元素。:before
IE从版本8开始支持伪元素,而::before
完全不支持伪元素。希望它将在版本10中得到纠正。
的HTML
<div class="myDiv">
Hi there
</div>
的CSS
.myDiv {
position: relative;
z-index: 1;
}
.myDiv:before {
content: "";
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(test.jpg) center center;
opacity: .4;
}
由于您的行为,z-index
您将必须为容器设置z-index以及为z-index
背景图像设置负值。
请参阅jsFiddle上的测试用例:
width: 100%; height: 100%;
到,.bg
以便ie6可以在父div内传播bg。jsfiddle.net/sbGb4/2
z-index
是很痛苦的,但是只要您给父母一个正指数,这应该是相对安全的。
::before
伪元素的方法。这是您要找的那个吗?
所以这是另一种方式:
background-image: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), url("your_image.png");
linear-gradient
。我写的已接受答案是4岁以上;)
div {
width: 200px;
height: 200px;
display: block;
position: relative;
}
div::after {
content: "";
background: url(image.jpg);
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
position: absolute;
z-index: -1;
}
<div> put your div content</div>
这可以通过对文本Hi There ...使用不同的div类来完成。
<div class="myDiv">
<div class="bg">
<p> Hi there</p>
</div>
</div>
现在,您可以将样式应用于
标签。否则对于bg类。我相信它能正常工作
我实现了Marcus Ekwall的解决方案,但能够删除一些内容以使其变得更简单,并且仍然有效。也许是html / css的2017版本?
的HTML:
<div id="content">
<div id='bg'></div>
<h2>What is Lorem Ipsum?</h2>
<p><strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen
book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with
desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.</p>
</div>
CSS:
#content {
text-align: left;
width: 75%;
margin: auto;
position: relative;
}
#bg {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url('https://static.pexels.com/photos/6644/sea-water-ocean-waves.jpg') center center;
opacity: .4;
width: 100%;
height: 100%;
}
大家好,我这样做了,效果很好
var canvas, ctx;
function init() {
canvas = document.getElementById('color');
ctx = canvas.getContext('2d');
ctx.save();
ctx.fillStyle = '#bfbfbf'; // #00843D // 118846
ctx.fillRect(0, 0, 490, 490);
ctx.restore();
}
section{
height: 400px;
background: url(https://images.pexels.com/photos/265087/pexels-photo-265087.jpeg?w=1260&h=750&auto=compress&cs=tinysrgb);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
position: relative;
}
canvas {
width: 100%;
height: 400px;
opacity: 0.9;
}
#text {
position: absolute;
top: 10%;
left: 0;
width: 100%;
text-align: center;
}
.middle{
text-align: center;
}
section small{
background-color: #262626;
padding: 12px;
color: whitesmoke;
letter-spacing: 1.5px;
}
section i{
color: white;
background-color: grey;
}
section h1{
opacity: 0.8;
}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Metrics</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
</head>
<body onload="init();">
<section>
<canvas id="color"></canvas>
<div class="w3-container middle" id="text">
<i class="material-icons w3-highway-blue" style="font-size:60px;">assessment</i>
<h1>Medimos las acciones de tus ventas y disenamos en la WEB tu Marca.</h1>
<small>Metrics & WEB</small>
</div>
</section>