我的问题有点棘手,我不确定是否可能,但我记得以前做过或者在某处见过。 所以,我正在制作一个水平菜单。我有一个大小为980x36像素的div块。它有一个背景图片:
我在里面有一些链接(<a href="/">text</a>
),我让这些链接成为块级元素(display: block;
)并向左浮动。所以现在它看起来更像这样:
现在,当我悬停在链接上时,我必须设置背景位置的一些负水平值,例如对于第三个链接,我应该设置类似background-position: -233px 0px; 这样两个背景颜色就会匹配。
我的问题是如何自动实现这个效果?这里有个棘手的问题:我不知道所有链接的宽度,因为它们是文本,并且应支持多语言(因此显然不能预先制作图像)。我不想使用 PNG(我可以轻松地制作半透明的“玻璃”,它将与第一个背景叠加并创建相同的效果)- 因为.. 猜猜是谁,是的IE6。最后,我希望使用一种漂亮、干净且广泛支持的技术来完成这个效果,所以JavaScript不在考虑范围内(我知道这很容易,我可以做到,我只是不想使用它)。
在这种情况下熟悉的方法是background-attachment: fixed;
。在这种情况下,如果我能将每个链接的背景位置固定到容器 div 的位置就好了。那就太完美了!正是我需要的!每个链接都会在它的位置上,但背景会呈现为在容器 div 上一样!问题在于,如果有人知道一个好的解决方案.. 如果没有,我应该考虑更少的痛苦,目前我认为是尝试 PNG 方法,也许加上一些 IE 修复程序?
<br />
标签的神奇之处。 - LostLins/Enter/Shift/
? - Matt Ball<br />
。但是没错,他也应该发现Shift键。 - BoltClock