随着移动网络的广泛应用,现在很多人已经习惯于手机上网。手机上网固然便捷,但是对于网站设计师而言,却又得面临新的难题:如何才能在不同大小的设备上呈现同样的网页
手机和电脑的显示是有很大差别的,以前用电脑打开网站是很正常的,但是很可能在手机上的显示就非常的不适于人阅读。
很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,这样固然保证了效果,但是比较麻烦,同时要维护好几个版本,大大增加了架构设计的复杂度。
2010年,Ethan Marcotte提出了“自适应网页设计”这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。
“自适应网页设计”到底是怎么做到的
首先,在网页代码的头部,加入一行viewport元标签。viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩 放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
“流动布局”的含义是,各个区块的位置都是浮动的,不是固定不变的。float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
“自适应网页设计”的核心,就是CSS3引入的Media Query模块。它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
除了布局和文本,”自适应网页设计”还必须实现图片的自动缩放。有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。
随着越来越多的人使用手机上网,使自适应网页设计技术变得越来越流行。自适应网页设计指能使网页自适应显示在不同大小终端设备上新网页设计方式及技术。当然,对一个新手来说可能听起来有点复杂,其实它比你想象的简单多了(前提你有css基础)。
1、在HTML头部增加viewport标签。
在网站HTML文件的开头,增加viewport meta标签告诉浏览器视口宽度等于设备屏幕宽度,且不进行初始缩放。代码如下:
这段代码支持Chrome、Firefox、IE9以上的浏览器,但不支持IE8以及低于IE8的浏览器。
IE8及其更低版本不支持media query,可以使用 media-queries.js或 respond.js脚本实现支持。
2、在CSS文件尾部增加针对不同屏幕分辨率的规则。
例如使用如下的代码,可以让屏幕宽度低于480像素的设备(如iPhone等),网页侧栏隐藏中部内容栏宽度自动调节。以下代码针对Z-Blog,WordPress相关标签名称只需修改一下即可。
@media screen and (max-device-width: 480px) {
#divMain{
float:none;
width:auto;
}
#divSidebar {
display:none;
}
}
3、布局宽度使用相对宽度。
网页总体框架可以使用绝对宽度,但往下的内容框架、侧栏等最好使用相对宽度,这样针对不同分辨率进行修改就方便。当然也可以不用相对宽度,那就需要在 @media screen and (max-device-width: 480px) 里面增加各个div的针对小屏幕的宽度,实际上更麻烦。
4、页面使用相对字体(非必要)
在HTML页面上不要使用绝对字体(px),而要使用相对字体(em),对于大多数浏览器来说,通常用 em = px/16 换算,例如16px就等于1em。
5、图片自适应(非必要)
img标签的话,只需要设置 max-width:100%;或width:100%;语句为:img { max-width:98%;}
css加载的background-image如何自适应大小呢,其实CSS3中是可以实现的,添加如下语句:background-size:100% 100%;
自适应网页设计的话,就是不能定死你的div+css布局的宽度和高度,最好的办法就是通过width:30%,height一般还是用auto,通过百分比设置就行了,这里我提交一段代码:
自适应网页,它的宽度都是百分比(%)的
不清楚,搜搜