CSS 使用内联图像翻转创建文本

标签 css background-image

我目前正在使用带有 Javascript 的当前 HTML 标记来创建带有内嵌图像的文本链接,该图像会在文本悬停时“滚动”。

<div><a id="link" href="page.html"
        onmouseover="rollover(this.id,'over');"
        onmouseout="rollover(this.id,'out')"
     >Link</a><img id="linkButton" src="image.gif" /></div>

重要的是图像是内联的,这样我可以轻松地创建具有不同文本长度的新文本链接。

我想尝试在没有 Javascript 的情况下完成此操作,并使用包含翻转的结束和结束状态的单个图像,因此可能使用背景位置技巧。

最佳答案

您需要在 CSS 中使用 background-image(或仅使用 background)。这是一个例子 http://www.webvamp.co.uk/blog/coding/css-image-rollovers/

关键是在链接元素上使用伪类。例如:

a:hover
a:active
a:visited

您还可以使用 inline-block 使 a 不完全是 block 元素。您可能需要为其设置宽度和高度。请记住,display:inline-block 在 IE7 中效果不是很好,如果您仍然需要支持的话。

这里有一些关于使用 CSS Sprites 的额外提示

关于CSS 使用内联图像翻转创建文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14166973/

相关文章:

CSS:如何使水平图像滚动,每列有两个图像?

html - CSS 添加下拉菜单

html - 如何使用适合页面的图像创建着陆 div,并有可能滚动到其他内容

HTML和CSS如何在将背景图像添加到该部分后隐藏文本

Safari 中的 CSS 全宽背景图像(负边距)

javascript - 使用 JavaScript 更改 IE 中的背景图像

javascript - 使用 jquery 在 html 中添加双击操作

javascript - 将元素的宽度设置为等于监视器大小而不改变缩放

css - 如何将媒体查询 CSS 规则应用于 iframe 内容

jquery - 无法设置 JQuery 多个 css 背景,而是覆盖