强制执行浏览器颜色的 CSS 精灵
一些用户报告了使用我的网站时出现的问题,因为我对 CSS 精灵的使用与他们使用强制浏览器颜色进行浏览的偏好相结合。 Firefox 和 IE 中的问题似乎相同。有没有一个好的解决方案可以让我支持这些用户?
A few users have reported problems using my site as a result of combining my use of CSS sprites with their preference to browse with browser colors enforced. The problem appears to be identical in both Firefox and IE. Is there a good solution for this which will enable me to support these users?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里的问题是浏览器的背景颜色设置覆盖了 CSS 设置来创建精灵的图像。
一些聪明的 CSS 以合理的方式解决了这个问题。首先,我调整了 CSS 精灵的尺寸,将其高度和宽度减少了 2 像素。然后我添加了一个透明的 1px 边框。因此,当渲染页面时,浏览器会在 CSS 精灵区域的周围绘制边框。
此外,我向 CSS 添加了
color:transparent;
以使任何包含的文本透明。然后,在我使用精灵的每个地方,我都会添加一小段文本(只需一两个字母;足以表明某种意义,而无需扩展用于精灵的元素的位置),再加上一个好的title= “等等等等...”描述。
原始 CSS:
新 CSS
The problem here is that the browser's background color settings override the image that CSS is setting to create the sprite.
Some clever CSS solved this in a reasonable manner. First, I adjusted the dimensions of the CSS sprites, to reduce their height and width by 2px. Then I added a transparent 1px border. Thus when the page is rendered, the browser draws a border around the perimeter of the CSS-sprited area.
Additionally, I added
color:transparent;
to the CSS to make any contained text transparent. Then each place I use sprites, I add a short bit of text (just a letter or two; enough to indicate a touch of meaning without expanding the site of the element used for the sprite), coupled with a goodtitle='blah blah...'
description.Original CSS:
New CSS