div+css背景透明,文字也跟着透明,怎么让文字和图片不透明呢?

像图中这个这样,下面的大图我想做成JS那种一会一张,图片右下角有【1】【2】这样的标示,然后上面的导航的底色,想要半透明,但我设置了,导航上的文字就跟着透明了,我单独给导航文字设置颜色或者透明度它还是和导航一样?
这是div
<div class="banner">
<div class="bn"><div class="logo"><img src="images/logo.gif" width="60" height="52" /></div>
<div class="nav">
<ul>
<li>在线留言</li>
<li>关于我们</li>
<li>热点新闻</li>
<li>产品推介</li>
<li>经营团队</li>
<li>经营范围▼</li>
<li>首页</li>
</ul>
</div></div>
</div>

相关css是这样的
.banner {
width: 1000px;
position: relative;
height: 345px;
background-image: url(../images/banner.jpg);
}
.banner .bn {
position: absolute;
height: 60px;
width: 1000px;
background-color: #41403e;
filter: alpha(opacity=47);
}
.bn .logo {
float: left;
}
.nav{
height:24px;
width:900px;
float: right;
margin-top: 18px;
}

.nav li{
text-align:center;
float:right;
padding-right:15px;
color:#fff;
padding-left: 30px;
font-size: 14px;
}

你可以把背景做成半透明的png格式的图片,这样就不需要用滤镜设置透明度了。
filter本来就是会影响子元素的。追问

PNG的话是不是只有IE支持啊?

追答

css的滤镜属性是只有IE支持的。其他浏览器要写单独的样式实现。
而PNG只有ie6支持的不好,不过也有解决办法。在ie6下png的透明不能实现,只需添加一段js代码就可以了。网上有很多关于“ie6 png 透明”的js代码。
我给你提供一个www。htmlcss8。com/png.js(句号换成点,直接下载就行了。)
然后在你的页面中添加下面的代码。这样ie6下png的透明都能正常显示了。

DD_belatedPNG.fix('div, ul, p, address, h2, img, li, input,a');

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-28
文字放到另一个层里面,不要放在要透明的层里!用绝对定位把文字放到正确的位置!
第2个回答  2011-08-27
图看不到追问

tu

CSS背景色透明但内容不透明怎么实现?
方法二:定位法 设置文字内容和背景内容不在一个层上。让文字内容浮动到半透明的背景层上。如果你的文字在半透明背景层的下面,要设置z-index的值让文字位于背景的上面就行了。

html-css 中如何让一个DIV的背景色是透明的,但它的内容(文字图片之类...
html-css 中让一个DIV的背景色是透明的,但它的内容(文字图片之类的)不是透明的,这个的话,是可以通过设置2个div来实现的,第一个包裹着第二个div然后在设置相同的div宽高,在将第一个的opacity为0;代码如下:<div id='div1'> <div id='div2'> <p>我是测试文字<\/p> <\/div> <\/div...

css怎么可以只让背景透明 文字不透明
1、首先新建一个html文件,添加一个DIV,设置宽度和高度,以及背景色填充为红色。2、然后在父级DIV中插入一个子DIV,定义它的宽高,以及背景色(background:#fff;)。3、然后添加一个透明度的代码(opacity:0.6),保存后预览下效果,背景已经实现透明了,但是文字也透明了。4、熟悉PS的同学应该都知...

如何使DIV背景透明内容不透明
得使用两个div,位置是放内容的div在上面,透明背景的在下面,不能嵌套,然后用相对或绝对定位来控制他们之间的位置,分两种情况,一种是有固定高度的,一种是随内容而变化高度的,第二种比较难一点(需要的话可给我留言)

请教CSS如何实现内容和边框不透明,而背景透明
透明,貌似是继承的,而且更改子层的透明度仍然是没有效果的。这时候只有通过更改层的表现方式来做,透明的层与层之间不要有“父子”关系,往往用到绝对定位的方法。

我用css 中的opacity 设置元素背景的透明度 后发现该元素的内容透明度也...
用两个层重叠,一个文字,一个图片,其中一个层设置好position <div style="width:200px; height:200px; overflow:hidden;"> <div style=" background:#000; width:200px; height:200px; filter:alpha(opacity=50); -moz-opacity:0.5; -khtml-opacity: 0.5; opacity: 0.5;"> 图图图图...

CSS怎么设置让背景颜色透明,而文字不透明
浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。2、在index.html中的<style>标签中,对“article”添加样式:opacity: 0.5;,对“article p”添加样式:opacity: 1;。3、浏览器运行index.html页面,此时背景是50%透明度,但字体是不透明的。

背景透明,文字不透明的兼容处理
适用情况:设置opacity的元素,其后代元素也会继承opacity,一同呈现透明效果。因此,opacity适用于调整个别图片或部分模块的透明度。使用后,整个模块会呈现透明效果,无法达到背景透明文字不透明的预期。css3的rgba兼容性:IE6、7、8不支持,IE9及以上版本和标准浏览器支持。使用说明:用于设置颜色的透明度...

css父集设置透明 里面的内容也透明怎么解决?
css是层叠样式表,样式会默认继承,如果想让子级和父级的样式不一样,可以直接设置子级,像你的问题,就设置不希望透明的子级为不透明即可。

div+css如何实现背景半透明内容不透明
css滤镜只对IE有效,也够了 放个半透明的图片做背景不就可以了 是不背景要在字上面,主相对盖的绝对,用z-index试下。

相似回答