css实现缩放⾃适应⽹页--⼿机web
⼀. 允许⽹页宽度⾃动调整: "⾃适应⽹页设计"到底是怎么做到的?
其实并不难。 ⾸先,在⽹页代码的头部,加⼊⼀⾏viewport元标签。
1. <meta name="viewport" content="width=device-width, initial-scale=1" />
viewport是⽹页默认的宽度和⾼度,上⾯这⾏代码的意思是,⽹页宽度默认等于屏幕宽度(width=device-width),原始缩放⽐ 例(initial-scale=1)为
1.0,即⽹页初始⼤⼩占屏幕⾯积的100%。 对于viewport属性,我是真正在接触移动web开发是才遇到的,⼀把的ps布局都是固定的960px,1000px这种。
下⾯三篇⽂章是对viewport属性详细的解释: Viewport(视区概念)——pc端的理解 Viewport(视区概念)——移动端的应⽤ viewport ——视区概念(转) 对于⽼式IE6,7,8浏览器需要js处理,由于主要平台是ios和安卓,所有可以暂时不考虑
⼆. 不使⽤绝对宽度 由于⽹页会根据屏幕宽度调整布局,所以不能使⽤绝对宽度的布局,也不能使⽤具有绝对宽度的元素。
这⼀条⾮常重要。 具体说,CSS代码不能指定像素宽度: width:xxx px; 只能指定百分⽐宽度: width: xx%; 或者:width:auto; 这⾥开发是指⼀个⽹页不仅能⽤在ps上,也能同时⽤于移动端,但是对于webapp这种还是需要单独做⼀个webapp使⽤的页⾯。
对于这个知识点,对于我⽬前做的项⽬有⽤处,主要⽤于控制限定数据库⾥读出来的图⽚宽度。 详见:⼿机webapp的jquery mobile初次使⽤⼼得和解决图⽚⾃适应⼤⼩问题
三. 相对⼤⼩的字体 字体也不能使⽤绝对⼤⼩(px),⽽只能使⽤相对⼤⼩(em)。
1. body { font: normal 100% Helvetica, Arial, sans-serif; }
上⾯的代码指定,字体⼤⼩是页⾯默认⼤⼩的100%,即16像素。
1. h1 { font-size: 1.5em; }
然后,h1的⼤⼩是默认⼤⼩的1.5倍,即24像素(24/16=1.5)。
1. small { font-size: 0.875em; }
small元素的⼤⼩是默认⼤⼩的0.875倍,即14像素(14/16=0.875)。
四. 流动布局(fluid grid) "流动布局"的含义是,各个区块的位置都是浮动的,不是固定不变的。 
1. .main { float: right; width: 70%; } .leftBar { float: left; width: 25%; }
float的好处是,如果宽度太⼩,放不下两个元素,后⾯的元素会⾃动滚动到前⾯元素的下⽅,不会在⽔平⽅向overflow(溢出),避免了⽔平滚动条的出现。另外,绝对定位(position: absolute)的使⽤,也要⾮常⼩⼼。
五. "⾃适应⽹页设计"的核⼼,就是CSS3引⼊的Media Query模块。 它的意思就是,⾃动探测屏幕宽度,然后加载相应的CSS⽂件。
1. <</span>link rel="stylesheet" type="text/css" media="screen and (max-device-width: 400px)" href="tinyScreen.css" />
上⾯的代码意思是,如果屏幕宽度⼩于400像素(max-device-width: 400px),就加载tinyScreen.css⽂件。 
1. <</span>link rel="stylesheet" type="text/css" media="screen and (min-width: 400px) and (max-device-
width: 600px)" href="smallScreen.css" />
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css⽂件。 除了⽤html标签加载CSS⽂件,还可以在现有CSS⽂件中加载。
1. @import url("tinyScreen.css") screen and (max-device-width: 400px);
网页float是什么意思
六. CSS的@media规则 同⼀个CSS⽂件中,也可以根据不同的屏幕分辨率,选择应⽤不同的CSS规则。
1. @media screen and (max-device-width: 400px) { .column { float: none; width:auto; } #sidebar { display:none; } }
上⾯的代码意思是,如果屏幕宽度⼩于400像素,则column块取消浮动(float:none)、宽度⾃动调节(width:auto),sidebar块不显⽰
(display:none)。
七. 图⽚的⾃适应(fluid image) 除了布局和⽂本,"⾃适应⽹页设计"还必须实现图⽚的⾃动缩放。 这只要⼀⾏CSS代码: 
img { max-width: 100%;} 这⾏代码对于⼤多数嵌⼊⽹页的视频也有效,所以可以写成:
img, object { max-width: 100%;}
⽼版本的IE不⽀持max-width,
所以只好写成: img { width: 100%; }
此外,windows平台缩放图⽚时,可能出现图像失真现象。这时,可以尝试使⽤IE的专有命令: 
1. img { -ms-interpolation-mode: bicubic; } 或者,Ethan Marcotte的imgSizer.js。
addLoadEvent(function() { var imgs = ElementById("content").getElementsByTagName_r("img"); llate(imgs); });  不过,有条件的话,最好还是根据不同⼤⼩的屏幕,加载不同分辨率的图⽚。有很多⽅法可以做到这⼀条,服务器端和客户端都可以实现。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。