怎样才能将网页做到网页自适应窗口大小

为了账号安全,请及时绑定邮箱和手机
有哪几种方法可以实现网页自适应?
最好不要用到js,效果好一点的
纯 CSS 的话:1. 弹性布局:即容器不定死宽高,而是随内容和随浏览器可视区大小自适应宽高。常用方法是 min-width、max-width 或 百分比宽度。2. 浮动布局:利用float可实现左、右两栏右侧自适应布局。(这个有些 hack 的味道)2. flex布局:CSS3中强大到没朋友的弹性盒模型,可以轻松实现自适应布局。3. media query:CSS3的媒体查询,利用响应式断点来实现自适应布局,由于断点数不可能无限多,所以一般都是搭配其他自适应布局方式用的。4. rem布局:把 rem 当成一个变量来用,实现自适应布局,不过或多或少都得搭配一点 JS。(跑题了)
你还没有登录,请先登录或注册慕课网帐号
62128人关注
25902人关注
Copyright (C) 2018 imooc.com All Rights Reserved | 京ICP备 号-11如何设计制作自适应网页
互联网 & 发布时间: 14:28:36 & 作者:佚名 &
本文介绍了"自适应网页设计"的概念及制作思路和方法还有注意事项等,非常的详细,这里推荐给大家好好阅读,慢慢提高
随着3G的普及,越来越多的人使用手机上网。
移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页?
手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。
很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度。
于是,很早就有人设想,能不能&一次设计,普遍适用&,让同一张网页自动适应不同大小的屏幕,根据屏幕宽度,自动调整布局(layout)?
一、&自适应网页设计&的概念
2010年,Ethan Marcotte提出了&自适应网页设计&(Responsive Web Design)这个名词,指可以自动识别屏幕宽度、并做出相应调整的网页设计。
他制作了一个范例,里面是《福尔摩斯历险记》六个主人公的头像。如果屏幕宽度大于1300像素,则6张图片并排在一行。
如果屏幕宽度在600像素到1300像素之间,则6张图片分成两行。
如果屏幕宽度在400像素到600像素之间,则导航栏移到网页头部。
如果屏幕宽度在400像素以下,则6张图片分成三行。
mediaqueri.es上面有更多这样的例子。
这里还有一个测试小工具,可以在一张网页上,同时显示不同分辨率屏幕的测试效果,我推荐安装。
二、允许网页宽度自动调整
&自适应网页设计&到底是怎么做到的?其实并不难。
首先,在网页代码的头部,加入一行viewport元标签。
  &meta name=&viewport& content=&width=device-width, initial-scale=1& /&
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。
所有主流浏览器都支持这个设置,包括IE9。对于那些老式浏览器(主要是IE6、7、8),需要使用css3-mediaqueries.js。
  &!--[if lt IE 9]&    &script src=&http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js&&&/script&  &![endif]--&
三、不使用绝对宽度
由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。这一条非常重要。
具体说,CSS代码不能指定像素宽度:
  width:
只能指定百分比宽度:
  width: xx%;
  width:
四、相对大小的字体
字体也不能使用绝对大小(px),而只能使用相对大小(em)。
  body {    font: normal 100% Helvetica, Arial, sans-  }
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
  h1 {    font-size: 1.5   }
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
  small {    font-size: 0.875  }
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
五、流动布局(fluid grid)
&流动布局&的含义是,各个区块的位置都是浮动的,不是固定不变的。
  .main {    float:    width: 70%;   }
  .leftBar {    float:    width: 25%;  }
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。
另外,绝对定位(position: absolute)的使用,也要非常小心。
六、选择加载CSS
&自适应网页设计&的核心,就是CSS3引入的Media Query模块。
它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
  &link rel=&stylesheet& type=&text/css&    media=&screen and (max-device-width: 400px)&    href=&tinyScreen.css& /&
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。
  &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文件中加载。
  @import url(&tinyScreen.css&) screen and (max-device-width: 400px);
七、CSS的@media规则
同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
  @media screen and (max-device-width: 400px) {
    .column {      float:      width:    }
    #sidebar {      display:    }
上面的代码意思是,如果屏幕宽度小于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的专有命令:
  img { -ms-interpolation-mode: }
或者,Ethan Marcotte的imgSizer.js。
  addLoadEvent(function() {
    var imgs = document.getElementById(&content&).getElementsByTagName(&img&);
    imgSizer.collate(imgs);
不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。
大家感兴趣的内容
12345678910
最近更新的内容网站怎么做到自适应网页?
自适应网页能根据屏幕自动调整页面布局,基本适用于市面上所有终端,给企业带来了很大的便利。对程序开发者来说,要把网站做成自适应的其实也不难,修改几项参数就可以了。
网页总体架构使用宽度,但内容框架、侧栏等最好使用相对宽度,这样针对不同分辨率进行修改就方便。在HTML页面上不要使用字体(px),而要使用相对字体(em)。图片若是img标签的话,只需要在CSS代码中设置 max-width: 100%;或width:100%;不用固定数值。 语句为:img { max-width: 98%; }。background-size:100% 100%;可以实现background-image的自适应。
在网页头部加上一条meta标签:&meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" /&
width=device-width :宽度等于设备屏幕的宽度。
initial-scale=1.0:初始的缩放比例100%。
minimum-scale=0.5:最小的缩放比例50%。
maximum-scale=2.0:最大的缩放比例200%。
user-scalable=yes:用户可以调整缩放比例。
对零基础想做网站的用户来说,上面的方法还是太复杂了,最基本的那些代码是什么意思还没搞清楚,更别说在庞大的网站程序中对某项细节进行修改了。这时候想做自适应网站,可以选择成熟一点的自助建站工具。
笔者认为比较适合零基础站长的自助建站工具是,后台有一千多套行业模板,全部由设计师精心设计,符合市场主流审美和商业需求。用户一键安装模板后,对网站内容稍作修改就能上线网站,都是最简单的选择替换上传操作。网站做好后就是响应式的,直接复制网址到手机就能打开网站,适用于市面上所有屏幕。
用自助建站工具做网站还有个好处就是:管理起来特别方便。电脑站、手机站、微信站都是一个后台,网站只要一次更新就能三平台同步,修改也是直接在后台进行模块拖拽,彻底告别繁琐的代码。推荐小白使用:
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
1010元包域名、主机、建站系统,免费SEO、O2O推广
全网覆盖式营销,轻松对接云计算、大数据、移动互联网技术
今日搜狐热点所有回答(5)
按正方形等比缩放, 你可以用js控制。 &控制一个参数(width或height)就行; &
&script type="text/javascript"&
$(function(){
var imglist =document.getElementsByTagName("img");
//安卓4.0+等高版本不支持window.screen.width,安卓2.3.3系统支持
window.onresize = function(){
//捕捉屏幕窗口变化,始终保证图片根据屏幕宽度合理显示
function doDraw(){
_width = window.innerW
for( var i = 0, len = imglist. i & i++){
DrawImage(imglist[i],_width);
function DrawImage(ImgD,_width){
var image=new Image();
image.src=ImgD.
image.onload = function(){
//限制,只对宽高都大于30的图片做显示处理,换成你想要的宽度。
if(image.width&30 && image.height&30){
if(image.width&_width){
ImgD.width=_
ImgD.height=(image.height*_width)/image.
ImgD.width=image.
ImgD.height=image.
园豆:3266
一般我们是不控制图片的&图片都是宽度100%&高度auto
要控制的是装图片的容器宽度一般我们开发手机页面都用Bootstrap&你可以参考下
园豆:1568
图片自适应? &height 根据整个页面的百分比计算,width就来100%吧!
(比如:页面height:1500px,图片为heig:60px。则就可以设置图片高为:4%,)
这样我基本可以解决图片自适应的问题!嘻嘻
宽度为100%,高度为auto,即width:100%;height:&
比如 外层的class=box
var w=$(".box").width();// 这里获取到宽度
$(".box").height(w) //然后让宽度等与高度就是正方形
清除回答草稿
&&&您需要以后才能回答,未注册用户请先。}

我要回帖

更多关于 网页怎么做到自适应 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信