给div套一层遮罩层,并实现鼠标划过时遮罩层按块消失(div盒子上方套黑色遮罩层的显示消失)
实现如下效果,当鼠标在图片上移动时逐渐将图片清晰显示出来

真是找了挺多资料才得以解决,主要是出现了错误,寻找错误原因十分费头发
方法一
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
padding:0px;
margin: 0px;
}
div{
width: 51px;
height: 51px;
float:right;
/*border: 1px solid #fff;*/
}
#d{
width: 510px;
height: 510px;
float: none;
margin: 0 auto;
/*border:1px solid;*/
border: none;
background: url(shatan.jpg);
}
</style>
</head>
<body>
<div id="d" >
</div>
<script type="text/javascript">
var a=document.getElementById("d");
var c="";
for(var i=0;i<10;i++){
c+="<div id=\"d"+i+"\" style=\" width\: 510px ;height\: 51px; \">";
for(var j=0;j<10;j++){
c=c+"<div id=\""+(i*10+j)+"\" style=\" opacity\:0.8 ;background\:#000 \" ></div>";
}
c+="</div>";
}
// alert(c);
a.innerHTML=c;
for(var i=0;i<100;i++){
var d=document.getElementById(i);
d.onmouseover=function(){
this.style.opacity="0";
}
}
</script>
</body>
</html>
?安全无错误型
方法二
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style type="text/css">
img{
z-index: -1;
}
/*div#box{
box-sizing:border-box;
width:10%;
height: 10%;
border:1px solid rgba(255,255,255,0.3);
float:left;
}*/
#black{
width: 510px;
height: 510px;
position : absolute ;
z-index : 1001 ;
opacity : .80 ;
box-sizing: border-box;
border: 1px solid white;
}
/*#box{
background-color: rgba(0,0,0,0.8);
}*/
#ims{
width: 510px;
height: 510px;
}
</style>
<body>
<div id="black">
</div>
<div id="ims">
<img src="images/shatan.jpg">
</div>
<script type="text/javascript">
//var black=document.getElementById('black');
//for (var i = 0; i < 100; i++) {
//black.innerHTML+='<div id="box"></div>'
//}
//var box=document.getElementById('box');
//box.οnmοuseοver= function() {
//this.style.opacity="0";
//}
//正确
var black=document.getElementById('black');
for (var i = 0; i < 100; i++) {
black.innerHTML+='<div id="'+i+'" style="background-color: rgba(0,0,0,0.8);box-sizing:border-box;width:10%;height: 10%;border:1px solid rgba(255,255,255,0.3);float:left;"></div>'
}
for(var i=0;i<100;i++){
var d=document.getElementById(i);
d.onmouseover=function(){
this.style.opacity="0";
}
}
</script>
</body>
</html>
?秃头有错误改正型,注释为错误(只隐藏第一个小方格)
使用 box-sizing: border-box; 样式时,要在父盒子中使用,子盒子(显示样式的div)中注明分成的份数,用百分号(width:10%;height: 10%;及分成100份)
版权声明:本文为weixin_44242212原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。