1
A
回答
0
正如我所記得的,如果你設置背景顏色和背景圖像,那對於透明的PNGs來說不起作用(在透明度上你會看到背景顏色)。 特的解決方案是使用一種特殊的CSS類:
.trans_back { background:red }
DIV#trans_png { background:url(reddot.png); position:absolute; left:-9px; }
然後使腳本:
$().ready(function(){
$('#trans_png').load(function(){
$('.tans_back').css('background',$(this).css('background'));
});
});
DIV#trans_png是用來檢查是否加載圖像,你可以用你喜歡的方式去做,我更喜歡最簡單的沒有腳本。
1
你應該能夠提供一個CSS背景圖像和背景顏色。如果圖像被禁用,顏色仍應顯示。
0
1
我想到的另一個解決方案是,您可以默認設置純色背景,然後使用JavaScript加載圖像並應用透明度。如果有人將JS禁用或圖像下載失敗,那麼您將擁有默認的純色背景。
0
這是基於思想家的帖子,但我發現它沒有工作。我發現$('#trans_png').load
沒有觸發(jquery 1.9.1,firefox) - 我不得不使用圖像的src的加載事件,即$('#logo img').attr('src', 'images/layout/logo.png').load(function() {
。任何圖像都可以。
我也發現只是複製背景不起作用,我不得不明確清除顏色並添加圖像url。
我也不得不將此變化的幾個要素(子菜單ul
S),所以增加了負載函數內的循環:
$('#logo img').attr('src', 'images/layout/logo.png').load(function() {
$("ul.MenuBarHorizontal ul").each(function() {
$(this).css('background-color','none').css('background','none').css('background', $('#menu-trns-bg').css('background-image'));
});
});
這本質上是思想者的回答,固定的,但我不能」這可以理解爲一個評論。
只是爲了澄清,默認情況下,ULs有background-color: white;
,並且div位於屏幕外div#menu-trns-bg {position: absolute;left:-3000px;background-image:url(../images/layout/body-bg.png);}
我在Spry菜單上使用了此選項。
相關問題
- 1. CSS透明背景圖片
- 2. wxWidgets透明背景圖片?
- 3. css背景透明
- 4. css透明圖像的背景顏色
- 5. Qt css背景半透明
- 6. css背景透明度?
- 7. 透明或不透明的背景與css中的圖像
- 8. 背景圖像,但與不透明css
- 9. HTML/CSS/jQuery:背景圖像不透明
- 10. css box陰影+透明背景圖片=直觀的細分
- 11. 我可以動畫CSS背景圖片的不透明度嗎?
- 12. 改變Blogger的背景透明度圖片不是透明
- 13. 透明背景透明圖像問題
- 14. CSS3背景不透明與背景圖片
- 15. 如何使用css使背景透明?
- 16. 如何從透明覆蓋片段中禁用背景活動
- 17. 透明背景
- 18. 圖像背景透明GIMP
- 19. 使圖像背景透明
- 20. 透明背景圖(matlab)
- 21. uisearchbar透明背景視圖
- 22. CSS背景圖像轉換的後備
- 23. 透明的.gif圖像不允許背景CSS元素透過
- 24. ImageMagick的:用透明背景
- 25. 通過圖片幻燈片瀏覽器中的透明背景
- 26. CSS背景圖片 - >使用圖片
- 27. CSS背景不透明問題
- 28. CSS背景不透明度動畫
- 29. 如何清除css背景透明?
- 30. CSS把戲透明和減去背景
這似乎在弱連接上引入了一個漏洞。如果CSS替換Javascript沒有完成,偶爾會看到徽標圖片無法加載。我已經嘗試了預加載背景圖片,並從javascript例程中返回true,但是有些事情中斷了。就個人而言,這是不值得的風險,所以我已經從我的網站刪除了這段代碼。 – Chris 2013-10-09 15:08:27