回答:
このコードを画像のCSSに追加するだけです
body{
background:
/* top, transparent black, faked with gradient */
linear-gradient(
rgba(0, 0, 0, 0.7),
rgba(0, 0, 0, 0.7)
),
/* bottom, image */
url(http://fc02.deviantart.net/fs71/i/2011/274/6/f/ocean__sky__stars__and_you_by_muddymelly-d4bg1ub.png);
}
リファレンス:linear-gradient()-CSS | MDN
更新:すべてのブラウザーがRGBaをサポートしているわけではないため、「フォールバック色」を使用する必要があります。この色は、ほとんどの場合、単色(完全に不透明)になりますbackground:rgb(96, 96, 96)
。例:RGBaブラウザーのサポートについては、このブログを参照してください。
:after擬似要素を使用します:
.overlay {
position: relative;
transition: all 1s;
}
.overlay:after {
content: '\A';
position: absolute;
width: 100%;
height:100%;
top:0;
left:0;
background:rgba(0,0,0,0.5);
opacity: 1;
transition: all 0.5s;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
}
.overlay:hover:after {
opacity: 0;
}
ペンをチェック>
に設定background-blend-mode
するdarken
ことが目的を達成するための最も直接的で最も短い方法background-color
ですが、ブレンドモードを機能させるには、最初に設定する必要があります。
これは、後でJavaScriptの値を操作する必要がある場合にも最適な方法です。
background: rgba(0, 0, 0, .65) url('http://fc02.deviantart.net/fs71/i/2011/274/6/f/ocean__sky__stars__and_you_by_muddymelly-d4bg1ub.png');
background-blend-mode: darken;
これでこれを行うことが可能かもしれません box-shadow
しかし、実際に画像に適用することはできません。単色の背景のみ
body {
background: #131418;
color: #999;
text-align: center;
}
.mycooldiv {
width: 400px;
height: 300px;
margin: 2% auto;
border-radius: 100%;
}
.red {
background: red
}
.blue {
background: blue
}
.yellow {
background: yellow
}
.green {
background: green
}
#darken {
box-shadow: inset 0px 0px 400px 110px rgba(0, 0, 0, .7);
/*darkness level control - change the alpha value for the color for darken/ligheter effect */
}
Red
<div class="mycooldiv red"></div>
Darkened Red
<div class="mycooldiv red" id="darken"></div>
Blue
<div class="mycooldiv blue"></div>
Darkened Blue
<div class="mycooldiv blue" id="darken"></div>
Yellow
<div class="mycooldiv yellow"></div>
Darkened Yellow
<div class="mycooldiv yellow" id="darken"></div>
Green
<div class="mycooldiv green"></div>
Darkened Green
<div class="mycooldiv green" id="darken"></div>
絶対および負のz-indexとして配置された、背景用のコンテナを使用できます。http: //jsfiddle.net/2YW7g/
HTML
<div class="main">
<div class="bg">
</div>
Hello World!!!!
</div>
CSS
.main{
width:400px;
height:400px;
position:relative;
color:red;
background-color:transparent;
font-size:18px;
}
.main .bg{
position:absolute;
width:400px;
height:400px;
background-image:url("http://fc02.deviantart.net/fs71/i/2011/274/6/f/ocean__sky__stars__and_you_by_muddymelly-d4bg1ub.png");
z-index:-1;
}
.main:hover .bg{
opacity:0.5;
}
すでにここにあるものに追加するには、以下を使用します。
background: -moz-linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7));
background: -webkit-linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7));
background: linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7));
filter: unquote("progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3000000', endColorstr='#b3000000',GradientType=0 )");
... 70%線形グラデーションオーバーレイのクロスブラウザサポート用。画像を明るくするには、すべてのものを変更することができます0,0,0
「によ255,255,255
s」を。70%が少し多い場合は、を変更してください.7
。そして、今後の参考のためにこれをチェックしてください:http : //www.colorzilla.com/gradient-editor/
私にとってフィルター/勾配アプローチは機能しませんでした(おそらく既存のCSSが原因で)、:before
代わりに疑似スタイリングトリックを使用しました:
.eventBannerContainer {
position: relative;
}
.eventBannerContainer:before {
background-color: black;
height: 100%;
width: 100%;
content: "";
opacity: 0.5;
position: absolute;
display: block;
}
/* make any immediate child elements above our darkening mask */
.eventBannerContainer > * {
position: relative;
}
display
のために::before
あるinline
それは受け入れないだろうwidth
とheight
。