2010-06-24 65 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)。它似乎更好地(更直观地)与浮动元素。