javascript - 如何将 CSS Sprite 背景实现到现有的 JavaScript 变量中?

标签 javascript css dom-events background-image sprite

我想向现有按钮添加 Sprite 图像,该按钮以前使用自己的图像“play.png”,我将其替换为“spacer.png”(该元素已在 css 中设置为 30x35 像素的固定大小).目标是通过将所有此类 play/pause/next/previous 按钮组合成一个按钮来保存 http 请求单个 sprite.png 文件。

给定的现有代码:

var $backBtn = $("<img src='" + LIGHTBOX_PATH + "spacer.png' id='back-btn'/>");
$backBtn.css({opacity:BUTTON_OPACITY}).hover(buttonOver, buttonOut);

我添加了:

#back-btn{
    background: url(http://website.bla/sprite.png) no-repeat -770px -550px) #F00;
    float:left;
}

为什么 sprite 图像不显示? 即使背景不是 F00 颜色那里也没有任何显示...只有更改 float 才有效意味着 id确实匹配 #back-btn 所以它是其他东西......有什么想法吗?

最佳答案

除非绝对必要(即使用 Javascript 更改不透明度),否则您应该将样式保存在 CSS 文件中。将 CSS 文件添加到您的网站(或使用现有文件,如果有的话),并添加以下声明:

#back-btn {
  float: left;
  background: url(http://website.org/sprite.png) no-repeat -770px -550px;
}

关于javascript - 如何将 CSS Sprite 背景实现到现有的 JavaScript 变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5284713/

相关文章:

javascript - typescript 中的字符串枚举

javascript - `undefined` 事件中自定义属性的值 (Firefox)

javascript - 值得麻烦地提交 package-lock.json 吗?

javascript - 函数返回函数javascript

html - 在父 Div 内水平居中放置 2 个 Div 按钮

javascript - 调整屏幕大小后导航栏消失 [Bootstrap]

javascript - 有没有办法在 Chrome 的检查器中实时查看哪些 Javascript 函数(函数的名称)执行?

javascript - 取回事件处理程序返回未定义

javascript - 如何在 ElectronJS 中模拟 require

html - CSS 高度 - 2 个 div 之间为 100%