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" />

    效率高,效果也不错。

  • 相关阅读:
    洛谷 P1202 [USACO1.1]黑色星期五Friday the Thirteenth 题解
    洛谷 P1957 口算练习题 题解
    洛谷 P2036 Perket 题解
    洛谷 P2369 EXCEEDED WARNING A 题解
    洛谷 P1184高手之在一起 题解
    洛谷 P1897电梯里的爱情 题解
    Python做的眼睛护士
    Python-Tkinter的Entry详解
    Python的TkinterButton做为父窗口
    Python用Tkinter的Frame实现眼睛护士的倒计时黑色屏幕
  • 原文地址:https://www.cnblogs.com/tamato-jacob-wealllostcontrol/p/5400479.html
Copyright © 2011-2022 走看看