随着科学技术的不断发展,不同的网络终端设备也层出不穷,例如智能手机、平板电脑、笔记本电脑、台式机等。这些设备有着不同的屏幕大小,不同的显示分辨率,相信在你以前访问的网站中,有的网站制作虽然在台式机上看上去非常舒服,但在笔记本或其他类型显示屏中却有种让人难以接受的感觉,不是网站错位就是内容溢出等等。这就说明,它们的网站制作是存在瑕疵的。不是说他们设计的不好,而是因为这些精心设计的网站难以适应显示器的尺寸变化。这种情况其实经常会发生。导致这个情况的原因是设计时考虑的不够周全。这也是许多网站制作师所面临的最大问题。
网站制作适应不同显示屏的意义
如何让网站在这些设备上都达到最佳的显示效果,提升用户体验,这是一个所有网站设计师不得不面对的难题。通常来说,如果您的网站能够在多种上网设备上显示完美,那这样的网站无形中就增加了竞争力,因为用平板电脑上网的用户,他是肯定不愿意在一个显示非常糟糕的网站上浪费太多时间。随着移动互联网的普及,移动上网设备正超过传统的桌面设备,成为互联网访问的最常见终端。鉴于此,网站自适应显示屏大小的意义关系到一个网站运营的生存大计,不得不重视。
网站制作适应不同显示屏的方法
说到这里很多人都要问有没有方法可以实现网站根据屏幕大小自动调整呢?答案是肯定的。现在最小的上网设备是智能手机,它的屏幕宽度一般在600像素左右。但是现在最常见的LCD(液晶显示器)最常见的分辨率在1366×768像素。同样的网站内容,要在宽度相差这么大的屏幕上取得最佳显示效果,显然是一件非常麻烦的事情。最常见的方法是为网站设计不同的版本,例如手机版网站、平板电脑版、PC版等。但这样的处理方式有一个非常大的缺点,就是大幅度增加了网站设计的工作量,导致成本增加。设计一个自应用屏幕大小的网站必须要做到几点,济南网站制作这里简单概述一下,供参考。
01、网站元素不使用绝对宽度,用百分比的形式来描述宽度。
02、选择性的加载css样式文件,这是网站自适应屏幕的核心所在,根据不同的屏幕宽度加载不同的css文件来描述网站。
03、网站字体不使用绝对大小(px),使用相对大小(em)。
04、网站元素位置不限定,使用流动方式布局(float)。
05、允许网站能够自动调整宽度。
目前,网络终端越来越多,手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。如何才能在不同大小的设备上呈现同样的网站?这是不少网站设计师面临的一个问题,同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。
很多网站的解决方法,是为不同的设备提供不同的网站,比如专门提供一个mobile版本,或者iPhone / iPad版本,但这增加了架构设计的复杂度,也让维护管理变得麻烦。
如何让同一张网站自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局?以下推荐效果较好的两个方法:
一、选择加载CSS
运用CSS3引入的Media Query模块
它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
《link rel="strlesheet" type="text/css" media="screen and (max-device-width:400px)" href="screen1.css"》
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载screen1.css文件。
《link rel="strlesheet" type="text/css" media="screen and (min-device-width:400px) and (max-device-width:600px)" href="screen2.css"》
如果屏幕宽度在400像素到600像素之间,则加载screen2.css文件。
除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
二、CSS的@media规则
同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
@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 grid)
"流动布局"的含义是,各个区块的位置都是浮动的,不是固定不变的。
.main {
float: right;
width: 70%;
}
.leftBar {
float: left;
width: 25%;
}
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
要注意,绝对定位(position: absolute)的使用,也要非常小心。
另外注意两点:
1、不使用绝对宽度
由于网站会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
具体说,CSS代码不能指定像素宽度:
width:xxx px;
只能指定百分比宽度:
width: xx%;
或者
width:auto;
2、相对大小的字体
字体也不能使用绝对大小(px),而只能使用相对大小(em)。
body {
font: normal 100% Helvetica, Arial, sans-serif;
}
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1 {
font-size: 1.5em;
}
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small {
font-size: 0.875em;
}
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
3、图片的自适应(fluid image)
除了布局和文本,"自适应网站设计"还必须实现图片的自动缩放。
这只要一行CSS代码:
img { max-width: 100%;}
这行代码对于大多数嵌入网站的视频也有效,所以可以写成:
img, object { max-width: 100%;}
老版本的IE不支持max-width,所以只好写成:
img { width: 100%; }
此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:
img { -ms-interpolation-mode: bicubic; }
或者,Ethan Marcotte的imgSizer.js。
addLoadEvent(function() {
var imgs = document.getElementById("content").getElementsByTagName("img");
imgSizer.collate(imgs);
});
不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。