一套web代码自适应pc端以及手机端的几种解决方法
⼀套web代码⾃适应pc端以及⼿机端的⼏种解决⽅法
最近遇到⼀个很棘⼿的项⽬,⾃作聪明想使⽤⾃⼰的⼀套⽅法⾃适应⼿机端和PC端,造成了不⼩错误,特地从⽹上学习了⼀下,现在把学习到的跟⼤家分享⼀下
⼿机的屏幕⽐较⼩,宽度通常在600像素以下;PC的屏幕宽度,⼀般都在1000像素以上(⽬前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在⼤⼩迥异的屏幕上,都呈现出满意的效果,并不是⼀件容易的事。
很多⽹站的解决⽅法,是为不同的设备提供不同的⽹页,⽐如专门提供⼀个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是⽐较⿇烦,同时要维护好⼏个版本,⽽且如果⼀个⽹站有多个portal(⼊⼝),会⼤⼤增加架构设计的复杂度。
网上怎么预约挂号于是,很早就有⼈设想,能不能”⼀次设计,普遍适⽤”,让同⼀张⽹页⾃动适应不同⼤⼩的屏幕,根据屏幕宽度,⾃动调整布局(layout)?
⼀:⾃适应⽹页设计的概念
史上最贱小游戏2攻略也就是⼤家经常所说的⾃动识别屏幕宽度,⼤家第⼀个肯定想到的就是bootstrap框架的栅格化原理,但是在⼀般公司并不适⽤,因为bootstrap的栅格化原理,针对于不同尺⼨的设备进⾏监听,从⽽做出的布
局的修改,这个基础上,就需要我们的uI设计师按照bootstrap 的原理进⾏设计页⾯了,如果设计的⽹站中有⼤量的⾮bootStrap风格的样式存在,那么就需要做⼤量的css重新写,这样反⽽失去了使⽤框架简洁的意义。
那么⾃适应⽹页到底怎么做呢?
⼆:⼏种解决办法
⼀:⾸先,在⽹页代码的头部,加⼊⼀⾏viewport元标签。
也就是viewport是⽹页默认的宽度和⾼度,上⾯这⾏代码的意思是,⽹页宽度默认等于屏幕宽度(width=device-width),原始缩放⽐例(initial-scale=1)为1.0,即⽹页初始⼤⼩占屏幕⾯积的100%。
所有主流浏览器都⽀持这个设置,包括IE9。对于那些⽼式浏览器(主要是IE6、7、8),需要使⽤css3-mediaqueries.js。
⼆:不可以使⽤绝对宽度、
由于⽹页会根据屏幕宽度调整布局,所以不能使⽤绝对宽度的布局,也不能使⽤具有绝对宽度的元素只能指定百分⽐宽度:width: xx%;或者width:auto;
三:相对⼤⼩的字体
字体也不能使⽤绝对⼤⼩(px)(这真的是⼤忌,之前都是⽤的em的,这次头晕全程使⽤的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)、
四:流动布局
流动布局是什么意思呢,即使各个区域的位置都是浮动的,不是固定不变的,但是使⽤的时候也要⼩⼼,需要不同个尺⼨的的测试,在这个项⽬⾥就是没有充分的测试,最后屏幕尺⼨缩⼩浮动的div就会随便跑了。
五:选择加载 css
⾃适应⽹页设计的核⼼:就是css引⼊Media Query的模块 ,他的意思就是,⾃动探测屏幕宽度,然后加载相应的css⽂件。
例如:如果屏幕宽度⼩于400像素(max-device-width: 400px),就加载tinyScreen.css⽂件。
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css⽂件。、
除了⽤html标签加载CSS⽂件,还可以在现有CSS⽂件中加载。
@import url(“tinyScreen.css”) screen and (max-device-width: 400px);
端午节是法定假日吗
六:CSS的@media规则
同⼀个CSS⽂件中,也可以根据不同的屏幕分辨率,选择应⽤不同的CSS规则。
@media screen and (max-device-width: 400px){
.testInput{
width:50%;
height:80%;
女孩游戏名字}
@media screen and (min-device-width: 401px){
.testInput{
width:90%;
团员自我鉴定
height:90%;
}
七:图⽚的⾃适应
除了布局和⽂本,⾃适应⽹页还必须实现图⽚的⾃动缩放,这只要⼀⾏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 = ElementById("content").getElementsByTagName("img");
});
总结:
⾃适应⽹页开发呢,很多都需要考虑到。高中写人的作文

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