我只是试图用我在网页设计杂志中看到的这个小窍门来制作一个小图片滚动,但我只有一小部分的麻烦。我的尝试是一个可怕的失败大声笑。我只想看看上半部分(42像素高),然后翻转下半部分(显然-42像素)如何制作CSS翻转图像? (sprite)
宽度也是42px。有人可以写一些东西来实现这一点吗? 图像: http://img826.imageshack.us/img826/6568/homebi.png
我只是试图用我在网页设计杂志中看到的这个小窍门来制作一个小图片滚动,但我只有一小部分的麻烦。我的尝试是一个可怕的失败大声笑。我只想看看上半部分(42像素高),然后翻转下半部分(显然-42像素)如何制作CSS翻转图像? (sprite)
宽度也是42px。有人可以写一些东西来实现这一点吗? 图像: http://img826.imageshack.us/img826/6568/homebi.png
试试这个:
<style type="text/css">
.menu {
}
.menu a {
float: left;
display: inline;
width: 42px;
height: 42px;
text-decoration: none;
}
.menu a span {
display: block;
overflow: hidden;
height: 0;
}
.menu .home {
background: transparent url(http://img826.imageshack.us/img826/6568/homebi.png) 0 0 no-repeat;
}
.menu .link:hover {
background-position: 0 -42px;
}
</style>
<div class="menu">
<a href="#" title="Home" class="link home"><span>Home</span></a>
</div>
继承人的裸骨头图像翻转。
的CSS
.rollover{display:block; height:42px; width:42px; background:url(http://img826.imageshack.us/img826/6568/homebi.png) top;}
.rollover:hover{background-position:bottom;}
.rollover span{display:none}
在HTML
<a href="#" class="rollover"><span>Home</span></a>
最重要的部分是背景的位置,这对按钮正常状态设置为“顶部”,当翻转背景现在的位置是'底部'。
假设您的图像包含两个按钮状态是84px高这将工作正常。
全部关于background-position
的初始值(非:hover
)和最终值(:hover
)的值。
#test {
height: 42px;
width: 42px;
background-image: url(http://img826.imageshack.us/img826/6568/homebi.png);
background-repeat: no-repeat;
background-color: transparent;
background-position: top; /* <-- key step #1 */
}
#test:hover {
background-position: bottom; /* <-- key step #2 */
}
根据您的评论回复:包裹<div>
用锚(<a>
),这里是做什么:
<div>
出去<span>
。这是因为锚的有效孩子必须是内嵌元素display: inline-block
。
嘿马特这对我见过的一个翻转的最佳实施。很好很简单。我喜欢'顶部'和'底部'的定位,几乎万无一失。 – MikeAinOz 2010-10-16 21:50:55
@Mike:谢谢!我认为,避免**背景:......速记更为清晰。希望它能显示出你需要的确切最小值。 – 2010-10-16 21:57:31
这是完美的。 :)但这里的小问题是,我怎样才能使这个链接,以及 – Ampix0 2010-10-17 03:08:29