zoukankan      html  css  js  c++  java
  • 移动端开发rem布局之less+媒体查询布局的原理步骤和心得

    rem: 

    rem即是以html文件中font-size的大小的倍数

    rem布局的原理:

    通过媒体查询设置不同屏幕宽度下的html的font-size大小,然后在css布局时用rem单位取代px,从而实现页面元素大小的动态适配,做出更漂亮整洁的页面

    rem布局的好处:
    1.页面整洁
    2.动态适配

    缺点:
    1.需要计算rem,但可以通过自动转化单位插件弥补

    less:

    是一门css扩展语言,也成为css预处理器,引入了变量,mixin(混入)、运算以及函数等功能

    css弊端:

    1.冗余度高 

    2.维护成本高 

    3.没有很好的计算能力
    less变量定义:

    @变量名:值;
    值可以是任意css属性值,如颜色大小
    注意:

    1.大小写区分 

    2.不能以数字开头 

    3.不能有特殊符号
    less变量引用,直接输入@变量名即可

    less嵌套
    子元素样式直接写到父元素嵌套里
    例div { a{xxxx} } 代表div a {}; div { &hover {} } 代表div:hover

    less运算
    less可以使用+ - * / 运算符号
    颜色大小都可以运算
    运算符左右必须空格隔开
    两个数参与运算,只有一个有单位,则结果单位与其相同
    两个数参与运算,量个数都有单位且不一样,则结果与第一个数的单位相同
    注:less中可以用@import引入其他less文件 如@import:url(xxxx.less);

    基本步骤:

    1.首先写一个common.less文件,专门用于媒体查询,其中常用的屏幕大小单位有320px 360px 375px 384px 400px 414px 424px 480px 540px 720px 750px。该文件的作用是设置不同大小屏幕下的font-size大小,其中倍数可以为15或者10,可以设置变量表示方便书写

    佛山vi设计https://www.houdianzi.com/fsvi/ 豌豆资源搜索大全https://55wd.com

    //利用媒体查询按照同一比例(10或者15)设置不同屏幕尺寸下的font-style大小
    //利用@+变量名:变量值  设置变量,提高效率
    @no:15;
    @media screen and (min- 320px) {
        html {
            font-size: 320px / @no;
        }
    }
    @media screen and (min- 360px) {
        html {
            font-size: 360px / @no;
        }
    }
    @media screen and (min- 375px) {
        html {
            font-size: 375px / @no;
        }
    }
    @media screen and (min- 384px) {
        html {
            font-size: 384px / @no;
        }
    }
    @media screen and (min- 400px) {
        html {
            font-size: 400px / @no;
        }
    }
    @media screen and (min- 414px) {
        html {
            font-size: 414px / @no;
        }
    }
    @media screen and (min- 424px) {
        html {
            font-size: 424px / @no;
        }
    }
    @media screen and (min- 480px) {
        html {
            font-size: 480px / @no;
        }
    }
    @media screen and (min- 540px) {
        html {
            font-size: 540px / @no;
        }
    }
    @media screen and (min- 720px) {
        html {
            font-size: 720px / @no;
        }
    }
    @media screen and (min- 750px) {
        html {
            font-size: 750px / @no;
        }
    }

    2.然后再写样式less文件,注意要先设置好当前测量页面的font-size大小,因为我们是根据某个页面来测量元素大小,所以要根据这个页面先设置好当前的rem倍数的变量,如750/15 =50.同时设置好页面的最小宽度320px。书写样式时,大部分px单位都需要转为rem,可以通过运算符或者插件表示。
    切记通过import引入媒体查询文件,否则页面动态适配无法生效

    @import:url(common.css)
    @baseFont: 50;

    总结:

    rem布局的灵魂在于通过媒体查询动态修改font-size,再利用rem与其链接达到动态适配的效果。所以重点是媒体查询的书写以及元素大小单位的书写,而利用less可以轻松实现计算,当然也可以利用阿里巴巴的flexible.js省略媒体查询一步,从而不需要less扩展语言。

  • 相关阅读:
    选择排序
    迭代器使用过程中为什么抛出ConcurrentModificationException
    自定义实现的ArrayList以及自定义实现的Iterator迭代器
    单链表
    collections方法记录
    JDK1.9中关于集合的新方法
    请使用时间相关的API,计算一个人从出生到现在一共活了多少天?
    java中对象的向上转型和向下转型
    异常相关知识整理
    可变参数相关知识
  • 原文地址:https://www.cnblogs.com/xiaonian8/p/13834611.html
Copyright © 2011-2022 走看看