我的项目有html代码,并且我希望图像具有悬停效果。悬停在框图像上的任何位置时,图像已更改。我尝试使用更多的类和id,但仅在图像上停留时才更改,而在框上则没有更改。
下面是代码:
.expandable-box {
width: 20%;
height: 151px;
margin: 30px 12px 30px 0;
padding: 30px;
border: 2px solid #fff;
border-radius: 5px;
box-sizing: border-box;
display: inline-block;
position: relative;
overflow: hidden;
cursor: pointer;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
-ms-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.expandable-box .icon-cont {
margin: 20px auto;
display: block;
text-align: center;
position: absolute;
top: 10px;
left: 0;
right: 0;
}
.expandable-box a{
display:block;
color:#fff;
font-weight:600;
font-size:15px;
text-align: center;
position: absolute;
padding-top:35%;
width: 100%;
height:100%;
left:0;
top:0;
margin:0 auto;
z-index: 4;
}
.expandable-box a:hover{
color:#333;
}
.expandable-box:hover{
background:#fff;
}
<div class="expandable-box">
<span class="icon-cont">
<img style="display: block; margin-left: auto; margin-right:
auto;width: 64px;height:64px;" src="img.png" />
</span>
<a title="Title" href="page.html.html">This</a>
</div>
我想在框悬停时更改图像(整个框不只是图像)
谢谢
答案 0 :(得分:0)
1。使用background-image
使用background-image
到span
而不是使用img
标记
并在:hover
上将background
的URL更改为所需图像的src
.expandable-box {
width: 20%;
height: 151px;
margin: 30px 12px 30px 0;
padding: 30px;
border: 2px solid #fff;
border-radius: 5px;
box-sizing: border-box;
display: inline-block;
position: relative;
overflow: hidden;
cursor: pointer;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
-ms-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.expandable-box .icon-cont {
margin: 20px auto;
display: block;
text-align: center;
position: absolute;
top: 10px;
left: 0;
right: 0;
width: 64px;height:64px;
background-size: 100% 100%;
background-repeat: no-repeat;
background-image: url(https://i.stack.imgur.com/mSXoO.png);
}
.expandable-box a{
display:block;
color:#fff;
font-weight:600;
font-size:15px;
text-align: center;
position: absolute;
padding-top:35%;
width: 100%;
height:100%;
left:0;
top:0;
margin:0 auto;
z-index: 4;
}
.expandable-box a:hover{
color:#333;
}
.expandable-box:hover span{
background-image: url(https://i.stack.imgur.com/3mG2d.jpg);
}
<div class="expandable-box" onmouse>
<span class="icon-cont">
</span>
<a title="Title" href="page.html.html">This</a>
</div>
2。将img
与JS onmouseenter/onmouseleave
一起使用
function changeImg(){
var item=document.getElementById("imageid");
if(item.src=="https://i.stack.imgur.com/mSXoO.png")
item.src="https://i.stack.imgur.com/3mG2d.jpg";
else
item.src="https://i.stack.imgur.com/mSXoO.png";
}
.expandable-box {
width: 20%;
height: 151px;
margin: 30px 12px 30px 0;
padding: 30px;
border: 2px solid #fff;
border-radius: 5px;
box-sizing: border-box;
display: inline-block;
position: relative;
overflow: hidden;
cursor: pointer;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
-o-transition: all .3s ease-in-out;
-ms-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.expandable-box .icon-cont {
margin: 20px auto;
display: block;
text-align: center;
position: absolute;
top: 10px;
left: 0;
right: 0;
}
.expandable-box a {
display: block;
color: #fff;
font-weight: 600;
font-size: 15px;
text-align: center;
position: absolute;
padding-top: 35%;
width: 100%;
height: 100%;
left: 0;
top: 0;
margin: 0 auto;
z-index: 4;
}
.expandable-box a:hover {
color: #333;
}
.expandable-box:hover{
background: #fff;
}
<div class="expandable-box" onmouseenter="changeImg()" onmouseleave="changeImg()">
<span class="icon-cont">
<img id="imageid" style="display: block; margin-left: auto; margin-right:auto;width: 64px;height:64px;" src="https://i.stack.imgur.com/mSXoO.png" />
</span>
<a title="Title" href="page.html.html">This</a>
</div>