Div+Css实现屏蔽效果

本文介绍如何使用 div 和 CSS 实现 YUI Datatable 的点击屏蔽效果,包括遮罩层大小设置、透明度调整及 z-index 控制等关键步骤。

      在做项目的过程中 用到了Yahoo 的YUI控件,其中的datatable 很方便,但是有些时候要把点击table事件屏蔽,

于是便想到了用div+Css的方法实现这一效果。

【效果图】

 

总而言之,就是当某一事件被触发时,例如 按钮点击事件 。使一个事先定义好的div 显示, 并用Css控制位置,其中的z-index属性必须有,

值赋的越大,说明此div层在重叠时,在最上面。

其中要注意的地方:

【遮罩层的大小】
1、用JS判断你的显示器分辨率,获取长与宽两个参数,将这两个参数赋给第二层的Div,作为他的长与宽的像素值,这样的话,无论在多大或多小的显示器上,都可以显示同样的效果

2、CSS样式表:这种方法,只能提前设置好遮罩层的长与宽了,但是就会出现一些问题:如果你的遮罩层设置的宽度、长度很大,那么在小显示器上就会出现浏览器的滚动条~~反之则会出现遮罩不上的问题


因为做HTML模型,所以我用的第二种方法,有个不太合理解决的方式:我把浏览器的下方(横向的)滚动条给禁用掉了。代码是: 在CSS样式表中写入
html,body { overflow-x:hidden;}

【遮罩层样式】
1、三个Div层的样式,position都要设为absolute;,因为只有设为absolute时, z-index:属性才会生效!

2、半透明属性:filter:alpha(opacity=50); IE专有属性, 设置层的透明度为 50% ,
                            -moz-opacity:0.5;    火狐FF 专有属性,设置层的透明度为 50%。
这两条属性都要加上,因为IE、火狐对其中的单一一条并不兼容~~~
还有一点,你的遮罩层样式中,一定要设置 width 与 height   ,否则 透明属性不起效~~


3、 z-index: 的顺序,   z-index:属性的值越小,则该层越在下方,最小值是1

【代码示例】

1 覆盖div

ExpandedBlockStart.gifContractedBlock.gif#apDiv8 {}{
    position
:absolute;
    left
:57px;
    top
:30px;
    width
:668px;
    height
:240px;
    z-index
:1000;
    background-color
:#CCCCCC; 
    filter 
: progid:DXImageTransform.Microsoft.Alpha ( enabled=true , style=0 , opacity=40);
}

2 事件调用

ExpandedBlockStart.gifContractedBlock.giffunction divH(){
   document.getElementById(
'apDiv8').style.display='block';
   }
<div id ="apDiv8" style="display:none;" >
<input  type="button" id="btnadd"  style="height: 30px; width: 100px;" onClick="divH()" value="Div覆盖" /> 

 

 

转载于:https://www.cnblogs.com/zhouweiwei/archive/2009/11/25/1610786.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值