有没有办法为单个元素设置多个背景位置属性?根据链接的状态(按下/悬停/默认),我需要同时更改正在显示的图像的X和Y值。
我希望我的CSS文件中的Y值是静态的,而X位置需要根据我的导航栏(链接所在的位置)中的每个元素进行更改。
有没有办法做到这一点?在网上查找,我还没有找到一种方法来设置背景位置的顶部或左侧的参数。
发布于 2011-08-28 06:51:47
Apparently,
background-position接受一个或两个长度值、百分比或关键字。
如果只为background-position指定一个值,则假定第二个值为center。其中使用了两个值,并且至少有一个不是关键字,第一个值表示水平位置,第二个值表示垂直位置。
您很可能必须依靠JavaScript来保留这些Y值。
发布于 2011-08-28 07:08:49
您可以使用此CSS根据元素的状态(常规、悬停或活动)更改元素的背景图像位置...假设您使用的是sprite作为背景:
#NavElement {
background-image:url(../img/button.png);
background-repeat:no-repeat;
background-position:top center;
}
#NavElement:hover {
background-position: center; /* center is assumed as the second value */
}
#NavElement:active {
background-position:bottom center;
}此外,还可以在px中指定位置,而不是底部、顶部或中心。
https://stackoverflow.com/questions/7217867
复制相似问题