七月网

css半透明(css半透明阴影)

七月网2990

一、用css实现div的黑色透明

现在比较稳妥的做法是做一个半透明的黑色PNG图片,然后把它作为背景,因为单纯用CSS来写,在IE8及以下版本里面是不生效的。当然如果一定要用CSS来实现的话,也容易,可以直接设置这个元素的透明度,例如下面这样:

css半透明(css半透明阴影)

background:#000; opacity: 0.8;

也可以直接设置背景色为透明色,例如:

这也是楼上的方法,相对而言这个方法还是比较简洁的,只是会遇到一点点浏览器兼容的问题罢了。

二、css设置背景半透明

首先,用大家比较熟悉的CSS属性opacity来改变div的背景颜色。

外面大的div背景颜色为黄色,里面小的div的背景颜色为红色,现在我们需要设置大的div的背景颜色变成半透明状态,我们将opacity的属性值设为0.5,代码如下:

背景颜色的确变成了半透明,但是里面小div的背景以及文字都变成半透明了,这可能不是我们想要的效果,所以我们一般不使用这种方法。当然了,如果在页面布局时,你希望div里面所有的都变透明,就用opacity。

接下来我们用另一种方法,background-color:rgba(0,0,0,0~1),使用这个方法就只会设置div背景透明,而不会影响到div里的内容。

HTM部分一样,只需要将opacity换成rgba即可。

background-color: rgba(255,255,0,0.5);

大的div透明度改变以后,对里面的背景和文字都没有任何影响。所以我们一般用background-color:rgba(0,0,0,0~1)来设置背景颜色透明。

三、如何用css实现半透明遮罩层效果

1、半透明效果可以使用 css3中的 opacity属性,在低版本的IE浏览器中使用IE的alpha滤镜。代码:

opacity:0.3; filter: alpha(opacity=30); background-color:#000;}

、要覆盖整个可视区域通常的做法是:

.mask{height:100%;width:100%;}

但是这样做当内容超过一屏时只有IE6下显示的效果是我们所期望的,在其他浏览器中首屏以下的没能被遮盖住,为了兼容其他浏览器我们可以使用position:fixed;

<div class="mask opacity"></div>

html,body{ height:100%; margin:0; padding:0}

width:100%; position:fixed;_position:absolute; top:0; z-index:1000;}

.opacity{ opacity:0.3; filter: alpha(opacity=30); background-color:#000;

<title>背景半透明覆盖整个可视区域</title>

html,body{height:100%;margin:0;padding:0;

position:fixed;_position:absolute;top:0;z-index:1000;}

opacity:0.3;filter:alpha(opacity=30);background-color:#000;}

.content{height:600px;width:800px;overflow:auto;border:2pxsolid#ccc;

background-color:#fff;position:absolute;top:50%;left:50%;margin:-300pxauto

auto-400px;z-index:1001;word-wrap:break-word;padding:3px;}

class="ph">placeholderheight:1000px;</p>

<h1>背景半透明覆盖整个可视区域</h1>

这个效果效果在工作中经常会遇到,这篇文章主要介绍了当内容超过一屏时如何做到多浏览器的兼容性。下面我们通过一个简单的例子看看如何实现,高手请绕道。

<p>html代码很简单<divclass="maskopacity"></di

<p>1、半透明效果可以使用css3中的opacity

属性,在低版本的IE浏览器中使用IE的alpha滤镜。代码:

<code>.opacity{opacity:0.3;

filter:alpha(opacity=30);background-color:#000;}</code></p>

<p>2、要覆盖整个可视区域通常的做法是:<br/>

height:100%}</code><br/>

<code>.mask{height:100%;width:100%;}</code><br/>

但是这样做当内容超过一屏时只有IE6下显示的效果是我们所期望的,在其他浏览器中首屏以下的没能被遮盖住,为了兼容其他浏览器我们可以使用<code>position:fixed;

</code>来解决这个问题</p>

<strong>完整的代码</strong>:

.mask{height:100%;width:100%;position:fixed;

_position:absolute;top:0;z-index:1000;}

alpha(opacity=30);background-color:#000;}

<p><strong>参考资料:</strong>

<ahref="http://zhidao.baidu.com">背景半透明最佳实践</a>

<ahref="http://baidu.com">垂直居中的几种实现方法</a>

<ahref="http://tieba.baidu.com">DIV高度100%</a>

关于css半透明的内容到此结束,希望对大家有所帮助。