css實現遮罩層,父div透明,子div不透明


使用元素的opacity 屬性,設置遮罩層的效果, 主要 樣式是:background-color: #ooo; opacity:0.3;

<div style="width:500px; height:500px;position:fixed; top :0px;background-color:#000;opacity:0.3;text-align:center">
      <div style="float:right; width:100px;height:100%; z-index:10;line-height:500px;background-color:blue;opacity:1;">dfaaf
      </div>
</div>

  

原因分析: 使用css的opcity屬性改變某個元素的透明度,但是其元素下的子元素的透明度也會被改變,即便重定義也沒有用,不過有個方法可以實現,大家可以看看。

 可以使用一張透明的圖片做背景可以達成效果,但是有沒有更簡單的方法呢?使用RGBA。

 

<div style="width:500px; height:500px;position:fixed; top :0px;background-color:#000;background: rgba(0, 0, 0, 0.5);text-align:center">
<div style="float:right; width:100px;height:100%; z-index:10;line-height:500px;background-color:blue;opacity:1;">dfaaf
</div>
</div>

  

解釋:這是黑色半透明的代碼(設置背景色 同時設置opacity(透明度,取值范圍0-1))

     前三個值表示顏色的red,green,blue值

     最后一個表示alpha值,就是透明度值,不透明為1

     (支持IE8+以及所有現代瀏覽器)

父級div 使用rgba ,效果可以了,如下圖;

 

 

怎么實現父級div透明,子div不透明呢?下面這個代碼片段還可以參考:

原文: http://www.cnblogs.com/mxw09/archive/2011/09/27/2193238.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>css外層DIV半透明內層div不透明-彈出層效果的實現【實例】</title>
    <style type="text/css">
        <!--
        body,td,th {
            font-size: 12px; padding:0; margin:0;
        }
        .tanchuang_wrap{ width:600px; height:400px;position:absolute;left: 0px;top: 0px;z-index:100; display:none;}
        .lightbox{width:600px;z-index:101; height:400px;background-color:red;filter:alpha(Opacity=20);-moz-opacity:0.2;opacity: 0.2; position:absolute; top:0px; left:0px;}
        .tanchuang_neirong{width:353px;height:153px;border:solid 1px #f7dd8c;background-color:#FFF;position:absolute;z-index:105;left: 123px;top: 123px;}
        -->
    </style>
    <script language="javascript">
        function closeDiv(divId){
            document.getElementById(divId).style.display = 'none';
        }
        function displayDiv(divId){
            document.getElementById(divId).style.display = 'block';
        }
    </script>
</head>
<body>
<div style="width:400px; height:400px; position:relative; text-align:center;">
    <div class="tanchuang_wrap" id="aaaa">
        <div class="lightbox"></div>
        <div class="tanchuang_neirong">
            <p><span onClick="closeDiv('aaaa')" style=" cursor:pointer;">關閉</span></p>
            這里是彈窗內容
        </div>
    </div>
    <span onclick="displayDiv('aaaa')" style="cursor:pointer;">點擊我</span>
    <p>測試通過,兼容IE6.0、IE7.0、火狐3.6、遨游等各大瀏覽器</p>
</div>
</body>
</html>

  效果如下圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM