2013-04-22 132 views
3

是否可以讓div透明但讓文本不透明?Div透明。裏面的文字不透明

(我可以想像,唯一的解決辦法是將文本定位在div外,並嘗試將其定位上的z-index的div頂部,但因爲我有一個非常複雜的菜單,這將是很複雜)

這裏是簡化的情況:http://jsfiddle.net/5Jmzh/3/

HTML:

<ul class="menu"> 
    <li>first</li> 
    <li id="second"> second </li> 
    <li>third</li> 
</ul> 

CSS:

#second { 
    background:red; 
    opacity: 0.3; 
    filter: alpha(opacity = 30); /* A lower value makes the element more transparent */ 
} 

回答

6

不透明度設置該div內的所有內容,因此無法覆蓋它。

改用着色背景的RGBA方法:

#four { 
    background: rgba(255, 0, 0, .3); 
... 
} 

這裏使用紅色,綠色,藍色和alpha值(就像Photoshop中),而不是十六進制計算顏色和因爲它是一個背景顏色沒有關係不會影響孩子的元素。

http://jsfiddle.net/5Jmzh/1/

:)

+0

好完美,很好的解決方案!順便問一下,你知道從#到rgba的最佳方式是什麼? – Nrc 2013-04-22 10:57:24

+0

使用顏色選擇器程序,它應該爲您打印出每種格式的不同值。作爲一個說明,這不適用於舊版瀏覽器。 – Kyle 2013-04-22 11:54:08