有一個需求是給一個視頻增加遮罩 我研究了下 抽象出來就是給一個div增加遮罩
原理是:最外層的div使用relative定位 然后里面放兩個子div 一個是不被遮的 另一個是遮罩(用absolute定位),最后用js控制顯示狀態的變化
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript" src="../js/jquery-2.1.0.js"></script> <style> .warp{ absolute:relative; } .main{ width:800px; height:800px; border:1px solid #cccccc; color:red; font-size: 22px; } .filter{ width:800px; height:800px; background-color:black; position:absolute; left:0; top:0; filter: opacity:0.5;/*其他,透明度50%*/ z-index:99; display:none; } .close{ font-size: 22px; color:red; margin:50px auto; } </style> </head> <body> <div class="warp"> <div class="main"> <div class="test" onclick="Filter();">彈出遮罩</div> </div> <div id="filter" class="filter"> <div class="close" onclick="Close();">關閉</div> </div> </div> <script> var filter=document.getElementById("filter") function Filter(){ filter.style.display="block"; } function Close(){ filter.style.display="none"; } </script> </body> </html>