zoukankan      html  css  js  c++  java
  • rem单位

    rem单位

    rem基础

    px是固定单位,不同分辨率下效果不一样,导致网页布局出现偏差。

    em是根据父元素来改变字大小

    rem是根据根元素html来改变字体大小,只要改变了根元素的font-size就可以改变所有字体的大小。

    1,

    html{font-size:20px;}

    body{6rem;}

    此处1rem=20px

    2,

    html{font-size:62.5%;}

    body{6rem;}

    此处1rem=10px;因为默认1rem=16px;

    10/16=62.5%

    rem跟随分辨率而变化的方法

    我们的目的是分辨率不同,字体大小也不同,即适应屏幕分辨率。那么怎样才可以让rem的大小随着分辨率而变化呢?

    1,media query,这个不是通用性方法,根据常用的分辨率制定rem。

     1    html {font-size : 20px;}
     2     @media only screen and (min- 401px){
     3         html {font-size: 25px !important;}
     4     }
     5     @media only screen and (min- 428px){
     6         html {font-size: 26.75px !important;}
     7     }
     8     @media only screen and (min- 481px){
     9         html {font-size: 30px !important; }
    10     }
    11     @media only screen and (min- 569px){
    12         html {font-size: 35px !important; }
    13     }
    14     @media only screen and (min- 641px){
    15         html {font-size: 40px !important; }
    16     }

    2,js方法

     1 <script>
     2 (function (doc, win) {
     3           var docEl = doc.documentElement,
     4             resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
     5             recalc = function () {
     6               var clientWidth = docEl.clientWidth;
     7               if (!clientWidth) return;
     8              clientWidth=(clientWidth>640)?640:clientWidth;
     9               docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
    10             };
    11 
    12           if (!doc.addEventListener) return;
    13           win.addEventListener(resizeEvt, recalc, false);
    14           doc.addEventListener('DOMContentLoaded', recalc, false);
    15         })(document, window);
    16 </script>

    其他布局方法

    1,流式布局

    宽度用百分比;高度用px单位,即高度固定。大分辨率下变形。

    当然可以让高度值为rem单位;宽度也要注意兼容性问题。

    2,限定宽度

    固定的320px,大分辨率下,两边留白。不提倡。

    3,响应式

    不了解

    道听途说:直接从web page直接转换为web app。对大公司来说工作量大,维护难,中小企业可以使用,节约成本。

    4,设置viewport,缩放

    <meta name="viewport" content="width=320,maximum-scale=1.3,user-scalable=no" />

    效率高,效果也不错。

  • 相关阅读:
    并发编程的核心问题
    线程池的作用
    结构化并发编程:并发编程的分解方式与组织形式
    Dispatch Group
    yii视频地址哦
    Redis--各个数据类型最大存储量
    php开发中处理emoji表情和颜文字的兼容问题
    面向对象的三个基本特征(讲解)
    详解Ajax请求(四)——多个异步请求的执行顺序
    red入门学习笔记
  • 原文地址:https://www.cnblogs.com/tamato-jacob-wealllostcontrol/p/5400479.html
Copyright © 2011-2022 走看看