zoukankan      html  css  js  c++  java
  • 响应式布局

        前两天在做一个有关于问卷项目的前端开发,其中主要涉及到两方面的内容。第一个方面就是问卷需要同时涉及到pc端和手机端两个部分,更侧重与手机端的展示。第二个方面就是代码是嵌入到第三方代码中,同时需要在第三方平台投放和统计,牵扯到js跨域问题。

        首先说一下手机端开发遇到的一些问题和总结吧。(其实手机端有太多的点需要注意,这里只是说了一些这个项目遇到的,之后会慢慢补充)

    响应式布局

    因为要兼容pc端,同时是在第三方中嵌入代码,没有办法开发两套css来适应页面,所以运用了响应式布局。

    实现响应式布局主要需要完成下面几个步骤:

    1. 首先在head标签添加

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

    具体的参数意义:

    meta 标签的viewport属性,是在移动设备上设置原始大小,显示和是否缩放的声明。可以使用的参数设置如下∶

    width : viewport的宽度

    height : viewport的高度

    initial-scale : 初始的缩放比例

    minimum-scale : 允许用户缩放到的最小比例

    maximum-scale : 允许用户缩放到的最大比例

    user-scalable : 用户是否可以手动缩放

    2. 设置媒体检测

    PC端:

    @media screen and (min-1280px) {
      #head { … }
      #content { … }
      #footer { … }
    }

    手机端:

    @media screen and (min-320px) and (max- 414px){

    }

    移动端常见的开发技巧

    1. 在不使用响应式布局的情况下,宽度应尽量使用百分比来表示

    2. 元素尽量不要使用absolute,使用的话在外面套一层relative

        如果使用absolute来布局的话,可能会因为分辨率的不同而导致元素的位置偏移。因为当父元素不设置relative时absolute的left,top等数值是相对于整个浏览器的宽高作为参考值。当然如果不得不使用absolute的时候,把可以控制的父元素设置为relative元素,这样可以保证局部的宽高是不变的,不会因为分辨率的不同而导致显示错位等情况。

    3. 设置文本,使用em或rem

    html {
        font-size: 62.5%;
    }
    div {
        font-size: 1rem;
    }

    原理:

    浏览器约定:1em = 16px

    em是相对于父元素的大小

    rem是相对于根目录的大小

    为了改变1rem = 16px的对应关系,因此设置html {font-size: 62.5%},这样之后的设置就可以按照1rem = 10px的关系来换算了。

    em也是同理的,只不过可能会因为父元素的大小而改变。

    rem的原理是一致的,只不过rem的便捷性在于它是相对于根目录的字体大小来决定的,不会因为父元素的大小改变而改变。

    rem兼容性:(ie9.0+,firefox,chrome都支持了,如果不考虑兼容低版本ie就可以使用,恰好我们的项目不需要)

    image

    p.s.  非常感谢@流云诸葛简单的3步设置,让你的博客园更漂亮!的博文,借用了一下里面的css。

  • 相关阅读:
    饿了么 PostgreSQL 优化之旅
    kubernetes 滚动更新发布及回滚
    kubernetes yaml
    mongodb安装
    node.js安装
    linux输出换行
    把token放入请求头
    $.ajaxSetup
    js前端读取文件内容
    v-echarts安装
  • 原文地址:https://www.cnblogs.com/Candybunny/p/5357543.html
Copyright © 2011-2022 走看看