このヘッダー要素にカラーオーバーレイが必要です。 CSSでこれを行うにはどうすればよいですか?
<header id="header">
<div class="row">
<div class="col-xs-12">
...
</div>
</div>
</header>
#header {
background: url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
Rgbaを使用して、photos.rgbaで要素をオーバーレイする必要があります。これは、アルファ透明度のサポートを含むCSSで色を宣言する方法です。次のように.row
をオーバーレイヤーとして使用できます。
#header {
background: url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
.row{
background: rgba(39,62,84,0.82);
overflow: hidden;
height: 100%;
z-index: 2;
}
#header.overlay {
background-color: SlateGray;
position:relative;
width: 100%;
height: 100%;
opacity: 0.20;
-moz-opacity: 20%;
-webkit-opacity: 20%;
z-index: 2;
}
このようなもの。明らかに、overlay
クラスをヘッダーに追加するだけです。
負の極太半透明ボーダーを使用できます...
.red {
outline: 100px solid rgba(255, 0, 0, 0.5) !important;
outline-offset: -100px;
overflow: hidden;
position: relative;
height: 200px;
width: 200px;
}
<div class="red">Anything can be red.</div>
<h1>Or even image...</h1>
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-logo.png?v=9c558ec15d8a" class="red"/>
このソリューションでは、対象オブジェクトの正確なサイズを知る必要があります。
要素で複数のバックゴーランドを使用し、開始と終了の両方のカラーストップを同じ値として宣言することにより、線形オーバーレイをカラーオーバーレイとして使用します。
マルチバックグラウンド宣言のレイヤーは、レンダリングされるように上から下に読み取られるため、最初にオーバーレイを配置し、次にbgイメージを配置することに注意してください。
#header {
background:
linear-gradient(to bottom, rgba(100, 100, 0, 0.5), rgba(100, 100, 0, 0.5)) cover,
url(../img/bg.jpg) 0 0 no-repeat fixed;
height: 100%;
overflow: hidden;
color: #FFFFFF
}
filter
プロパティでhue-rotate
関数を使用できます。ただし、これは非常に不明瞭な測定値です。目的の色相に到達するために、移動する必要があるカラーホイールの周りの角度を知る必要があります。次に例を示します。
header { filter: hue-rotate(90deg); }
正しい色相が見つかったら、brightness
とgrayscale
またはsaturate
のいずれかの関数を組み合わせて、正しい色合いを見つけることができます。次に例を示します。
header { filter: hue-rotate(90deg) brightness(10%) grayscale(10%); }
filter
プロパティにはWebkitのベンダープレフィックスがあるため、最終的なコードは次のようになります。
header { -webkit-filter: hue-rotate(90deg) brightness(10%) grayscale(10%); filter: hue-rotate(90deg) brightness(10%) grayscale(10%); }
絶対配置を使用してもかまわない場合は、背景画像を配置してから、不透明度を使用してオーバーレイを追加できます。
div {
width:50px;
height:50px;
background: url('http://images1.wikia.nocookie.net/__cb20120626155442/adventuretimewithfinnandjake/images/6/67/Link.gif');
position:absolute;
left:0;
top:0;
}
.overlay {
background:red;
opacity:.5;
}
こちらをご覧ください: http://jsfiddle.net/4yh9L/
ヘルプシフトでは、クラスhome-page
を次のように使用しました
<div class="page home-page">...</div>
.home-page {
background: transparent url("../images/backgrounds/image-overlay.png") repeat 0 0;
background: rgba(39,62,84,0.82);
overflow: hidden;
height: 100%;
z-index: 2;
}
あなたはこのような同様のものを試すことができます