首页 > 代码库 > 自适应响应式布局-实现原理
自适应响应式布局-实现原理
1.添加viewport元标签:
<meta name="viewport" content="width=device-width, initial-scale=1" /> //width=device-width:网页宽度默认为设备宽度,initial-scale=1:初始缩放比例为1,即页面大小占屏幕的100%。
2.区块设置为浮动定位(float),width设置为百分比或者auto。
3.选择性加载css文件:
1).网页文件加载:当屏幕最大到600px[或者到指定区间400px-600px]时加载指定css文件:<link rel="stylesheet" type="text/css" media="screen [and (min-width: 400px)] and (max-device-width: 600px)" href="http://www.mamicode.com/xxx.css" />
2).css文件加载:效果和网页文件加载相同:@import url("tinyScreen.css") screen [and (min-width: 400px)] and (max-device-width: 600px);
3).jquery选择加载:
$(function(){ $(window).bind("resize",resizeWindow); function resizeWindow(e){ var newWindowWidth=$(window).width(); if(newWindowWidth<600){ $("link[rel=stylesheet]").attr("href":"xxx1.css"); }else if (newWindowWidth>600) { $("link[rel=stylesheet]").attr("href":"xxx2.css"); } } });
4.媒体查询:当屏幕最大到600px[或者到指定区间400px-600px]时设置css属性:@media
screen
[and (
min-width
: 400
px)]
and (
max-width
: 600
px
) { css代码 }
5.图片自适应:img { max-width: 100%;height: auto;}
6.重定义盒子宽度,让宽度包含border 和 padding:
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }
自适应响应式布局-实现原理