我尝试添加转换:background 1s;但菜单背景图片由于某种原因没有转换。我在那里做错了什么?
#menu{
padding-top:18px;
transition:background 1s;
-moz-transition:background 1s;
}
#menu > li{
float:left;
padding-right:5px
}
#menu .last{
padding-right:0;
}
#menu > li > a{
width:188px;
display:block;
font-size:17px;
color:#000;
background:#fff;
text-transform:uppercase;
font-weight:400;
background: url('../images/IMAGE_A.jpg');;
height:70px;
line-height:64px;
border-top:1px solid #555;
text-align:center;
border-radius:4px 4px 0 0;
-moz-border-radius:4px 4px 0 0;
-webkit-border-radius:4px 4px 0 0;
}
#menu > li > a:hover,#menu > .active > a{
background:#fff;
background: url('../images/IMAGE_B.jpg');;
background-repeat:no-repeat;
border-color:#7DB112;
}
#menu > li > a span{
display:block;
position:relative;
color:#000;
font-family:Arial, Helvetica, sans-serif;
font-size:17px
}
答案 0 :(得分:2)
转换尚不支持后台。计划为CSS4进行图像转换。现在,您只能转换所有谨慎的子属性,如背景颜色,背景大小,背景位置。
答案 1 :(得分:0)
制作精灵图像(通过组合image_a和image_b)并使用图像位置进行播放。 类似的东西:
#menu{
padding-top:18px;
}
#menu > li{
float:left;
padding-right:5px
}
#menu .last{
padding-right:0;
}
#menu > li > a{
transition:background-position 1s;
-moz-transition:background-position 1s;
width:188px;
display:block;
font-size:17px;
color:#000;
text-transform:uppercase;
font-weight:400;
background: url('../images/Sprite.jpg');;
background-position: -200px 0px;
height:70px;
line-height:64px;
border-top:1px solid #555;
text-align:center;
border-radius:4px 4px 0 0;
-moz-border-radius:4px 4px 0 0;
-webkit-border-radius:4px 4px 0 0;
}
#menu > li > a:hover,#menu > .active > a{
background:#fff;
background-position: -600px 0px;
background-repeat:no-repeat;
border-color:#7DB112;
}
#menu > li > a span{
display:block;
position:relative;
color:#000;
font-family:Arial, Helvetica, sans-serif;
font-size:17px
}
另外,请确保在背景图像的同一选择器上设置了过渡属性。
希望它有所帮助。