响应式布局

一、搭建一个H5页面

1.我们需要在head中添加一个meta标签(在webstorm中输入meta:vp按下tab键会自动生成)

<meta name="viewport" content="width=device-width, initial-scale=1.0">

2.viewport:视口
3.width=device-width:设置视口的宽度等于设备的宽度,如果不设置的话默认是980px;
4.user-scalable=no:禁止用户手动缩放;
5.initial-scale=1.0 maxmum-scale=1.0 min-mum-scale=1.0:设置屏幕最大最小默认缩放比例;

二、高清屏:二倍高清屏

1.苹果手机就是二倍高清屏,我们在手机上看到的100100px的图片,其实200200px的尺寸进行渲染,如果真是图片本身只有100*100px,最后呈现的就是被拉伸后变模糊的效果

  • 苹果手机上需要的素材图片都需要比看到的尺寸大一倍才可以
    2.DPI适配思想
    我们在做页面的时候,最好每一张素材图片都准备两套或者三套,比如:
    logo.png 100100
    logo@2x.png 200
    200
    logo@3x.png 300*300
    ...
    3.媒体查询:@media
  • 媒体设备:all所有设备 ,screen 所有屏幕设备PC+移动端, print打印机设备......
  • 媒体条件:指定在什么样的条件下执行对应的样式
@media all (max-width:319px){    //宽度小于320px;
  .box{
    height:110px;
  }
}
@media all (max-width:359px) and (min-width:320px){    //宽度大于320px小于360px;
 .box{
    height:120px;
  }
}

三、响应式布局的解决方案

(一)流式布局法

  • 设计师给我们的尺寸都是640 * 960 / 640 * 1136 / 750 * 1334
    1.流式布局法:容器或者盒子的宽度一般都不写固定值,而是使用百分比。
    2.其余的样式:字体、高度、margin、padding等等都按照设计稿上标注尺寸的一半来设置。
    3.对于有些屏幕尺寸下,我们设置的固定值看起来不是特别好看,使用@media进行微调整。

(二)rem响应式布局

  • 我们做的H5页面只在移动端访问(rem不兼容低版本的浏览器)
    1.rem:当前页面中的元素的rem单位的样式值都是针对HTML元素的font-size的值进行动态计算
    2.步骤:
    (1)从UI拿到设计稿 640*1136
    (2)在样式中给HTML设定一个font-size的值,一般设置一个方便计算的值(浏览器最小的字体大小是12px)
 html{
            font-size: 100px;       //1rem = 100px;
        }

(3)写页面页样式:完全按照设计稿的尺寸来写,设计稿是多少你就写多少;但是我们再写样式之的时候,需要把得到的像素值除以100,计算出对应的rem值,我们设定的也都是rem的值。
(4)特殊:外层盒子的宽度我们一般还是不写固定值,沿用流式布局的思想,我们用百分比的方式布局
(5)根据当前屏幕的宽度和设计稿的宽度来计算我们HTML的font-size的值
设计稿:640 600300 font-size=100px;
手机:320 300
150 font-size = 50px;
手机:375 (375/640)*100 ->font-size = 58.59375

    <script type="text/javascript">
        ~function () {
            var desW = 640,
                winW = document.documentElement.clientWidth,
                ratio = winW / desW;
            document.documentElement.style.fontSize = ratio * 100 + "px";
        }();
    </script>

(6)如果当前屏幕的宽度已经大于设计稿了,为了保证图片的良好展示,我们一般都不让再继续变大,以设计稿的宽度为最后宽度,剩余的部分留空白显示

    <script type="text/javascript">
        ~function () {
            var desW = 640,
                winW = document.documentElement.clientWidth,
                ratio = winW / desW;
            var oMain = document.getElementById('main');
            if(winW > desW){
                oMain.style.width = desW + 'px';
                oMain.style.margin = '0 auto';
                return;
            }
            document.documentElement.style.fontSize = ratio * 100 + "px";
        }();
    </script>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,193评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,306评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,130评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,110评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,118评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,085评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,007评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,844评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,283评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,508评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,395评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,985评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,630评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,797评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,653评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,553评论 2 352

推荐阅读更多精彩内容