手机的屏幕对照小,宽度通常在600像素以下;PC的屏幕宽度,普通都在1000像素以上,有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都体现出满意的效益,并不是一件容易的事。许多网站的做法是对不同终端设计多个网页,但这样会有许多维护的问题,在这里我们能够设计一个简易的盒子,这个盒子能够辨别不同的终端而显示不同的效益。
在网页代码的头部,加入一行viewport元标签。
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
因为网页会按照屏幕宽度调整部署,所以不能操作绝对宽度的部署,也不能操作具备绝对宽度的元素。对图像来讲也是这样。 详尽说,CSS代码不能指定像素宽度:width:xxx px; 只能指定百分比宽度:width: xx%; 或者width:auto;
字体也不能操作绝对大小(px),而只能操作相对大小(em)。 例如: body {font: normal 100% Helvetica, Arial,sans-serif;}上面的代码指定,字体大小是页面默认大小的100%,即16像素。
流动部署(fluid grid) "流动部署"的含义是,各个区块的位置都是浮动的,不是固定不变的。 .main {float: right;width: 70%; } .leftBar {float: left;width: 25%;} float的益处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),防止了水平滚动条的出现。
"自适应网站设计"的中心,就是CSS3引入的MediaQuery模块。 它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。 如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。