2010-06-24 101 views
1

我不知道它是如何發生的,對我而言,我無法修復它。如何清除css背景透明?

我有一個使用display:none隱藏的div;

當用戶點擊時,我設置顯示:塊顯示一個新的圖層。

問題是,所有的文字都從後面的圖層顯示出來......我如何強制從背後的div沒有透明度?

我沒有在我的CSS中設置透明度或不透明度。

我只顯示層具有以下設置:

.display { 
    background: rgb(255, 255, 255) url(/template/mobile/images/dot.gif) repeat left top; 
    display:none; 
    width: 250px; 
    height:100px; 
    border: 1px solid rgb(20, 20, 20); 
    margin-left: -5px; 
    margin-top: -100px; 
    float: left; 
    z-index: 999; 

} 

正如你可以看到: 我用1px的背景圖像嘗試 - 仍然透明 我設置背景顏色爲白色 - 仍然透明 我試過設置z-index,所以它是在一切 - 仍然透明

我不知道它爲什麼,我怎麼阻止它?

注:我已經停用了現場直播,這代碼可以在測試在查看:http://dev.cutmyhair.com.au/search_results.php?keyword=waverley 注:此問題只發生在該網站的.mobi域名的版本(所以你需要查看手機或使用手機模擬器)

+0

你能有一個在線的例子嗎? – 2010-06-24 07:16:41

+0

你可以在這裏看到它(http://www.cutmyhair.com.au/search_results.php?keyword=waverley),但它只在移動平臺上可見 – 2010-06-24 07:18:13

+0

該死的...忘了我的iPhone @ home ... – 2010-06-24 07:19:23

回答

7

我能夠使用FF3和IE8重現這一點。

您需要將位置設置爲絕對或相對。

.display { 
    position: absolute; 
    ... 
} 

.display { 
    position: relative; 
    ... 
} 
+0

GOLD !我之前在定位時遇到了問題... BANG! – 2010-06-24 07:35:43

+0

抱歉,還有一個問題 - 爲什麼會如此?位置:絕對如何使BG不透明? – 2010-06-24 07:36:15

+0

我不完全確定,但我有一種感覺,它可能與您的邊緣頂部有關:-100px。 – 2010-06-24 07:47:18

0

你確定這是一個透明度問題?我看到了另一個問題:

高度:100像素 的margin-top:-100px

這兩者結合起來將使你的div留完全脫離頁面,如果float屬性是由其他元素周圍的影響。也許在這裏發佈HTML部分和其他相關的CSS規則,所以我可以更好地理解情況。無論如何,首先,通過使用像Firebug或Chrome開發控制檯這樣的好的html/css調試工具,確保你的div在認爲是的地方。

+0

div絕對有...所有的文本都被下面的文本亂碼...... div正好顯示我想要的位置(雖然不一定是因爲定位問題導致的錯誤方式......我只是浮動並移動它 – 2010-06-24 07:23:59

0

嘗試使用display:inline-block(而不是block)。它似乎更好地(更直觀地)與浮動元素。