CSS媒体查询绝对是要走的路:
#icon {
backround:url(../images/sprites.png);
background-position:0 0;
height:20px;
width:20px;}
//desktop
@media only screen and (min-width: 960px) and (max-width: 1140px){
body { min-width:960px; }
#icon {
background-position:-20px 0;
height:15px;
width:15px;}
}
//tablets
@media only screen and (min-width: 768px) and (max-width: 959px) {
body { min-width:768px; }
#icon {
background-position:-32px 0px;
height:12px;
width:12px;}
}
//mobile
@media only screen and (min-width: 480px) and (max-width: 767px) {
body { min-width:480px; }
#icon {
background-position:-50px 0px;
height:10px;
width:10px;
}
每次重绘,浏览器都会根据这些规则进行测试并根据需要替换它们。在上面的例子中,#icon 有一个一致的属性(背景),还有几个随着浏览器大小的变化而变化。
查看1040Grid或Skeleton css 框架,了解一些出色的开箱即用解决方案。或者只是自己动手。
请注意,媒体查询是 css3 功能,在旧版浏览器中会失败。在这种情况下,将使用默认规则集(通常用于 960 布局)。(也有一些 javascript 解决方案可以处理这个问题..)
干杯