javascript - 调整定位的背景图像

标签 javascript html css

我有 span,它的样式如下所示。我的问题是,它被设计为填充 60px*60px 跨度。但是现在,我必须让它填充另一个 50px*50px 大小的跨度。但它不适用于背景位置,因为如果我更改背景大小,所有位置都会消失。那么有什么方法(css 或 javascript hack)可以在绘制图像后使用 bacground-image 调整图像或 block 元素的大小?我想避免重写所有背景位置(我为每个图标设置了类,例如“.entertainment”)。

<span class="icon icon2 entertainment"></span>

span.icon2 {
 float: left;
 width: 50px;
 height: 50px;
 margin: 5px 0 0 0;
}

#wrapper span.icon.entertainment {
 background-position: -60px -360px;
}

#wrapper span.icon {
 background: url(https://teeg.hu/image/icon.png);
}

感谢您的帮助!

最佳答案

没有纯粹的 css 解决方案。

有一个js解决方案。像您一样调整背景(背景大小)的大小,然后为每个元素移动大小之间的差值/2(在您的情况下为 5px)的位置。

您无需重写类,只需遍历元素即可。

注意:这可能会成为一个广泛的操作,最好重写类,即使这是你想要避免的(40 不是那么多......最多 30 分钟 - 包括测试)。

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

相关文章:

javascript - 当 DevExpress ASPxCheckBox 更改时请求客户端确认

javascript - JS : Extract text from a string without jQuery

css - 你可以有两个 div,其中之一始终保持 100% 高度吗?

javascript - Windows 8 FlipView 中的垂直滚动

html - CSS限制文本换行的方法

javascript - 如何在不知道请求数量的情况下链接 Javascript ajax 请求。 ( Node )

angular - IE 11 Angular Material 复选框显示在同一位置

html - 如何使用用 CSS 文件编写的 Firebug 查找悬停事件?

html - 如何仅使用 CSS 将 "D-PAD" Controller 设置为如下所示?

javascript - 将值从 servlet 发送到 javascript 错误(日语字符)