欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

css+图标偏移,css background-position 偏移的问题

发布时间:2025/3/21 编程问答 53 豆豆
生活随笔 收集整理的这篇文章主要介绍了 css+图标偏移,css background-position 偏移的问题 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

今天有个界面调整的工作要做,美工设计了一个导航栏,其中的按钮是用了一张大图,然后用背景偏移来给每个按钮加上不同的图标,美工给切的CSS在 Chrome下显示的很正常,但是IE9下除了第一个显示正常外,其他都是显示的左上角的图标,我们来看css:

.icon{background:url(imgs/homepage-icon.png)}

.app1{background-position:0 -120px;}

.app2{background-position:-30 -120px;}

.app3{background-position:-60 -120px;}

.app4{background-position:-90 -120px;}

.app5{background-position:-120 -120px;}

.app6{background-position:-150 -120px;}

.app7{background-position:-180 -120px;}

使用的HTML的片段:

接件在办箱已办箱传阅箱收阅箱督办箱

在Chrome23,Firefox24, Opera12.16, Safari 5.1.7 下显示均正常, 在IE9 的IE7/8/9模式下除了app1显示正常外,其他显示的都是左上角的图标,但是使用IE9的兼容模式,然后将文本渲染设置为杂项后,显示效果就和其他浏览器一样了, 看了好一会,也没看出啥怪异的,于是翻了翻W3C的帮助:

(http://www.w3school.com.cn/c***ef/pr_background-position.asp)

浏览器支持

所有浏览器都支持 background-position 属性。

可能的值

值描述

top left

top center

top right

center left

center center

center right

bottom left

bottom center

bottom right如果您仅规定了一个关键词,那么第二个值将是"center"。

默认值:0% 0%。

x% y%第一个值是水平位置,第二个值是垂直位置。

左上角是 0% 0%。右下角是 100% 100%。

如果您仅规定了一个值,另一个值将是 50%。

xpos ypos第一个值是水平位置,第二个值是垂直位置。

左上角是 0 0。单位是像素 (0px 0px) 或任何其他的 CSS 单位。

如果您仅规定了一个值,另一个值将是50%。

您可以混合使用 % 和 position 值。

然后在看了代码,猛然发现不一样的地方, 美工导出的CSS中background-position属性的第一个值后面没有px!, 全部加上了px后, IE9不管设置为7/8/9,还是兼容模式,都显示正常了。

再次测试了如下代码:

.i2 { background-position: -30px -120; }

.i3 { background-position: -60 -120; }

在Chrome23,FireFo24, Opra 12.16,IE9 的7,8,9的标准、兼容模式下,显示的都是左上角的图标, 但是IE9 只要把文档模式调整为杂项的话(浏览器模式任意),显示就又正常了,

总结

以上是生活随笔为你收集整理的css+图标偏移,css background-position 偏移的问题的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。