美文网首页
响应式布局

响应式布局

作者: 李丹linda | 来源:发表于2018-11-14 15:38 被阅读0次

一、搭建一个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>

相关文章

  • 响应式布局目录

    └─Web响应式布局├─1 响应式布局介绍├─2 响应式布局实例(Media Queries模块) 上├─3 响应...

  • 九、HTML5响应式布局

    @(HTML5)[相应式布局] [TOC] 九、HTML5响应式布局 什么是响应式网页设计(布局) 响应式网页设计...

  • 响应式网页开发

    响应式布局 什么是响应式布局?可以让一个网站兼容不同分辨率设备的布局 为什么要使用响应式布局?给用户更好的视觉使用...

  • 响应式开发

    响应式布局 什么是响应式布局?可以让一个网站兼容不同分辨率设备的布局 为什么要使用响应式布局?给用户更好的视觉使用...

  • js基础(6)

    27、移动端响应式布局开发 响应式布局开发 1、什么是响应式布局开发?把我们开发完成的产品,能够让其适配不同的设备...

  • flex布局及常用属性

    flex 布局 demo 圣杯响应式布局

  • VUE响应式原理

    VUE响应式原理 这里的响应式(Reactive)不同于CSS布局的响应式(Responsive), 这里的响应式...

  • 响应式布局与自适应布局

    前言 这几天工作的时候被提出需要响应式布局的需求,但是响应式布局和自适应布局有嗲傻傻分不清楚。所以响应式布局和自适...

  • bootstrap系列之响应式布局及相关的visible-sm、

    响应式布局:响应式工具不能用于table元素,而且 本身就不支持 响应式布局需要在处添加如下语句: 在...

  • 响应式布局

    什么叫做响应式布局? 也即是响应式Web设计。响应式布局是Ethan Marcotte在2010年5月份提出的一个...

网友评论

      本文标题:响应式布局

      本文链接:https://www.haomeiwen.com/subject/vjxpmftx.html