jquery - 背景图像定位

标签 jquery hyperlink css background-image

我创建了一个 sprite,其中包含我在 Web 应用程序中使用的一整套图标。但是,我在设置链接样式时遇到了问题。我知道使用 CSS 我可以操纵链接的大小并移动它的背景图像( Sprite ),所以我只在 Sprite 中显示我想要的图标。这对于没有文本的链接非常有用。但是,如果我有一个带有背景图片和附加文本的链接,那就是我遇到问题的地方。

看看这些图片,这将解释我的困境:

我知道我可以在 CSS3 中“剪辑”背景图片,但我现在正试图避免这种情况,因为我知道主要是较旧的浏览器 [如 IE8 X(] 将访问该站点,并且不会看到这个变化。有没有一种方法可以做到这一点,而无需在每个链接中放置额外的标签,例如 <span> 标签并设置它们的样式?我已经看到了可以使用 AJAX 库(如 jQuery)来帮助这,但对于一个小任务来说,这是很多汗水。

我希望这不会造成混淆。

最佳答案

使用 jQuery 这实际上非常简单:只需为所有这些元素分配一个公共(public)类,如 sprite。现在您可以检查它是否是 IE8 并运行此代码:

$('.sprite').toggleClass('sprite').prepend('<span class="sprite"/>')

这会创建一个带有 sprite 类的 span。使用一些巧妙的 CSS,您应该能够将背景移动到具有 sprite 类的元素。

关于jquery - 背景图像定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6033643/

相关文章:

asp.net - 使用 Javascript/jQuery 更改 Telerik RadEditor 的值

javascript - 向子菜单下拉列表添加延迟 - bootstrap3

javascript - 删除 div 或平铺 div 之间的空间

html - 带有超链接的 Angular 5 DomSanitizer

JQuery Mobile 在按下后将列表项 <li> 设为蓝色并禁用页面的所有链接

javascript - 滚动位置等于 div 内容高度时的 jQuery 警报

javascript - 在多页面 jQuery 移动应用程序中使用滑动手势更改页面

javascript - 禁用外部网站链接的最简单方法?

javascript - 使用 jquery 单击多个 div 时添加和删除类

css - -webkit-外观 : none; not working for button