我有一個DIV,我想把一個模式作爲背景。這種模式是灰色的。所以爲了讓它更好看一些,我想把一個透明的顏色「層」放在上面。以下是我嘗試過的但沒有奏效的。有沒有辦法將彩色圖層放在背景圖片上?預先感謝您的回覆。乾杯。馬克。背景圖像上的半透明顏色層?
這裏是我的CSS:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
我有一個DIV,我想把一個模式作爲背景。這種模式是灰色的。所以爲了讓它更好看一些,我想把一個透明的顏色「層」放在上面。以下是我嘗試過的但沒有奏效的。有沒有辦法將彩色圖層放在背景圖片上?預先感謝您的回覆。乾杯。馬克。背景圖像上的半透明顏色層?
這裏是我的CSS:
background: url('../img/bg/diagonalnoise.png');
background-color: rgba(248, 247, 216, 0.7);
這就是:
.background {
background:url('../img/bg/diagonalnoise.png');
position: relative;
}
.layer {
background-color: rgba(248, 247, 216, 0.7);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
HTML此:
<div class="background">
<div class="layer">
</div>
</div>
當然,你需要定義的寬度和高度與.background
類,如果裏面沒有其他元素的話
然後,您需要使用bg圖像和它與背景顏色的內容元素的包裝元素:
<div id="Wrapper">
<div id="Content">
<!-- content here -->
</div>
</div>
和CSS:
#Wrapper{
background:url(../img/bg/diagonalnoise.png);
width:300px;
height:300px;
}
#Content{
background-color:rgba(248,247,216,0.7);
width:100%;
height:100%;
}
見我的答案在https://stackoverflow.com/a/18471979/193494進行了全面的概述可能的解決方案:
請不要張貼鏈接作爲答案。把相關代碼放在這裏,但鏈接到你複製它的源代碼。 – Blazemonger 2014-12-17 16:14:26
試試這個。適用於我。
.background {
background-image: url(images/images.jpg);
display: block;
position: relative;
}
.background::after {
content: "";
background: rgba(45, 88, 35, 0.7);
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
z-index: 1;
}
.background > * {
z-index: 10;
}
這是一個非常好的答案,不需要額外的HTML元素。謝謝! – patr1ck 2014-02-23 21:15:59
我知道這是一個非常古老的線程,但它顯示在谷歌的頂部,所以這裏有另一種選擇。
這是純粹的CSS,不需要任何額外的HTML。
box-shadow: inset 0 0 0 1000px rgba(0,0,0,.2);
有針對的box-shadow功能使用數量驚人的。
從CSS-技巧...有一個一步到位的方式來做到這一點沒有Z-索引和添加僞elements--需要線性漸變,我覺得意味着你需要支持CSS3
.tinted-image {
background:
/* top, transparent red */
linear-gradient(
rgba(255, 0, 0, 0.45),
rgba(255, 0, 0, 0.45)
),
/* your image */
url(image.jpg);
}
這個效果很好,但是如果你想脈衝一種顏色,你不能創建漸變效果,不要以爲這是可能的任何方法。 – sricks 2015-09-09 21:48:45
我在這個元素上設置了'background-size:cover;'和'background-position:center center;'。這似乎取消了這種效果。 – Solace 2015-11-03 13:39:01
使用背景大小:封面;後。至少在鉻上。 – davidbonachera 2016-11-07 03:38:00
我我已經使用這種方法將顏色色調以及漸變應用於圖像,以便在無法控制圖像顏色配置文件時使動態重疊文本更容易識別。你不必擔心z-index。
HTML
<div class="background-image"></div>
SASS
.background-image {
background: url('../img/bg/diagonalnoise.png') repeat;
&:before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(248, 247, 216, 0.7);
}
}
CSS
.background-image {
background: url('../img/bg/diagonalnoise.png') repeat;
}
.background-image:before {
content: '';
position: absolute;
top: 0;
bottom: 0;
right: 0;
left: 0;
background: rgba(248, 247, 216, 0.7);
}
希望它可以幫助
這有效,但你需要改變第二個「left:0;」到「底部:0」 – 2015-10-13 08:49:49
這應該是公認的答案,因爲它避免了不必要的元素創建。只要確保你的.background-image'div'至少有一個位置:relative – mjsarfatti 2016-09-05 08:52:33
爲什麼這麼複雜?你的解決方案几乎是正確的,除了這是一種更容易的方式使圖案透明和背景色固體。 PNG可以包含透明膠片。因此,使用photoshop將圖案設置爲70%並保留圖片以使圖案透明。那麼你只需要一個選擇器。作品跨瀏覽器。
CSS:
.background {
background: url('../img/bg/diagonalnoise.png');/* transparent png image*/
background-color: rgb(248, 247, 216);
}
HTML:
<div class="background">
...
</div>
您還可以使用線性漸變和圖像: http://codepen.io/anon/pen/RPweox
.background{
background: linear-gradient(rgba(0,0,0,.5), rgba(0,0,0,.5)),
url('http://www.imageurl.com');
}
這是因爲線性漸變函數創建一個添加到背景堆棧的圖像。 https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient
這適用於我,我正在使用fullpage.js – 2015-07-31 07:50:16
.background
{
background: linear-gradient(rgba(248, 247, 216, 0.7), rgba(248, 247, 216, 0.7)), url('../img/bg/diagonalnoise.png') no-repeat center fixed;
background-size:cover;
}
你能再解釋一下這是怎麼回事? – patrick 2017-08-22 17:09:44
雖然答案總是值得讚賞的,但是這個問題在5 **年前被問過,並且已經有了一個可以接受的解決方案。請儘量避免將問題頂到問題的頂端,除非問題還沒有被標記爲已解決,或者您發現了一個新的改進的問題解決方案。還請記住提供一些[**代碼圍繞您的代碼**](https://meta.stackexchange.com/questions/114762)來幫助解釋它。查看關於如何讓你的答案數的一些技巧的[**寫出很好的答案**](http://stackoverflow.com/help/how-to-answer)上的文檔:) – 2017-08-23 02:17:51
可以使用半透明像素,它可以生成例如here,甚至用base64 下面是白色的50%爲例:
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8Xw8AAoMBgDTD2qgAAAAASUVORK5CYII=),
url(../img/leftpanel/intro1.png);
background-size: cover, cover;
而不上傳
沒有額外的html
我想加載應該比盒子陰影或線性漸變更快
絕對沒有理由相對和絕對定位。 – 2012-02-07 20:08:31
啊,是的,當然,我有點進入模式彈出,不知道爲什麼。你的答案當然更清潔,更容易。 – 2012-02-07 20:11:42
@JohannesKlauß他的答案如何更清晰和更容易?它不起作用,至少對我來說是這樣。 – DannyG 2015-06-04 18:53:52