2011-01-24 54 views
1

我正在玩opacity CSS属性。透明度和文字问题

它适用于盒子(50%或黑色30%) - 问题在于盒子内的文字是也是透明。

我希望文本在透明度为30%的盒子中100%为白色。

解决方案是使用CSS进行调整或使用.png作为背景并忘记opacity设置。

告诉我,如何做30%不透明与100%不透明文本里面。提前

感谢

回答

4

你的选择是:

  • Using CSS3background: rgba(255, 255, 255, 0.3)Live Demo
  • 将两个<div>标签绝对定位在彼此之上。其中之一是背景,并有opacity设置。第二个有它的文字,和一个transparent背景。
  • 正如你在你的问题中暗示的那样,你可以使用一个带有30%透明度的.png文件。

知道我读到一种方法,使IE中的rgba工作。

参见:http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/

.alpha60 { 
    /* Fallback for web browsers that doesn't support RGBa */ 
    background: rgb(0, 0, 0); 
    /* RGBa with 0.6 opacity */ 
    background: rgba(0, 0, 0, 0.6); 
    /* For IE 5.5 - 7*/ 
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); 
    /* For IE 8*/ 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; 
} 
+1

IE其实有它自己的'rgba`般的财产使用的过滤器。这里有一个有用的生成器:http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/ – mqchen 2011-01-25 00:19:24

0
#box { color:white; background-color:rgba(0,0,0,0.3); } 

注:RGBA不IE6-8

工作