2013-03-29 35 views
0

我有一個<div>其中包含一堆<p> s,並希望在文本後面有一個不透明的背景圖像,縮放以填充整個<div>。即無論我添加或刪除多少文字,圖片都會增大或縮小以覆蓋整個背景<div>如何在div上有不透明的背景圖片?

只有圖像應該有不透明度。 div內的文字應該是純黑的。

請問我該怎麼做? (我是否擔心瀏覽器不支持CSS3?)

+1

猜你是不是覺得不透明?你是使用圖像還是背景顏色/灰度 –

回答

1

[Answer] from o.p.

我退後一步,以另一種方式看問題,發現一個跨瀏覽器的答案,不需要CSS3。

我開火了The Gimp,並在圖像本身添加了opactiy!正是我想要做的,沒有花哨的CSS3必要;-)

非常感謝您的幫助,@ JSW189。我希望你不介意我在你的回答中張貼,但這是我選擇的解決方案。


你想使用background-image屬性添加圖像,然後background-size:100%有背景圖像填充整個股利。

div { 
    background-image:url('image_url_goes_here.jpg'); 
    background-size: 100%; 
} 

JS Fiddle Example

此外,如果您想切換不透明度,可以使用opacity屬性。它默認設置爲opacity:1(不透明),但您可以通過切換10之間的不透明度來更改該設置。因此,例如,如果您想要50%的不透明度,則可以使用opacity:.5

Opacity JS Fiddle Example

請注意,background-size是一個CSS3屬性。您可以看到browser compatibility chart here。但是,這個問題可以通過像modernizr這樣的庫來解決。

+0

+1感謝您的幫助。但是,當我看着FireFox 19中的JFiddle不透明示例時,我認爲文本與圖像一樣不透明(並且在更改不透明度時仍然存在)。也就是說,「不透明」似乎應用於div內的所有內容,而不僅僅是圖片(Chrome中也會出現同樣的情況) – Mawg

+0

@Mawg。這是不透明度的主要挫折之一;所有的孩子元素也受到不透明度的影響。避免這個問題的唯一方法是將孩子移出父母。 – JSW189

+0

上面的內容可以在jsfiddle.net/YJZRE/10/中看到。另外,我不喜歡你在div上放置高度和寬度 - 如果用戶調整瀏覽器的大小。但是,如果我們刪除這些內容,那麼只顯示圖像的頂部 - 無論我向div中添加或刪除多少文本,我都希望它縮小或增大以填充div。見http://jsfiddle.net/YJZRE/13/ – Mawg