zoukankan      html  css  js  c++  java
  • 前端界面开发大小单位 px rem em的思考记录

    前端界面开发表示大小的单位有 px、rem、em。这三种有什么区别呢?px指像素值,固定大小,较好理解。rem、em的区别呢?em是针对body中的font-size的倍数,rem是针对html的倍数。

    1、em
    em是针对body中font-size的倍数,font-size默认是24px
    例:
    body{font-size:62.5%;}
    则:1em=10px
    2、rem
    rem是针对html的倍数
    html {font-size: 62.5%; /**10 ÷ 16 × 100% = 62.5% 1rem = 10px **/}
    body {font-size: 1.4rem; /**1.4 × 10px = 14px **/}
    h1 { font-size: 2.4rem; /**2.4 × 10px = 24px**/}
    3、px
    4、line-height带单位和不带单位的区别
    line-height:30px;
    line-height:120%;
    line-height:1.2
    1)line-height:120%;代表行高为 父级元素.font-size*120%
    2)line-height:1.2; 代表行高为 子级元素。font-size*1.2

    移动端字体大小、margin、padding大小调节
    传统做法:
    将设计图缩放到320px,然后设置字体为rem,margin、border为px。(原因:margin、borer、padding为rem单位,换成px和原始数值有插入
    改进后做法:

    设计图 640px ,定义body的width是6.4rem;font-size通过deviceWidth/6.4得到。
    设计图750px ,定义body的width是7.5rem;font-size通过deviceWidth/7.5得到。

    deviceWidth可以通过document.documentElement.clientWidth可视宽度来获取。那计算font-size的代码如下:(7.5代表设计图为750px)
    document.documentElement.style.fontSize = document.documentElement.clientWidth / 7.5 + 'px';
    取100px为一个参照,之后的都是 长度/100rem
    例:设计图为750px
    则 body中的width为 7.5rem
    font-size=deviceWidth/7.5=750/7.5=100 px=1rem
    设计图为640
    取100px为一个参照
    则body中的width为6.4rem
    font-size=1rem

    上面代码其实我和之前代码是大体类似的。也是设置rem跟字体,以750宽度为基准,为100px,375宽度是50px。

  • 相关阅读:
    svn备份
    Java Web开发引用包的方法
    nucht1.2二次开发增量采集
    程序集信息设置.net
    lucene的基本查询及lucene3.0.1API
    Asp.net网站部署
    C语言面试算法题(一)
    面试题
    C语言面试算法题(二)
    C++的IO流的函数
  • 原文地址:https://www.cnblogs.com/LinxiHuang/p/9247917.html
Copyright © 2011-2022 走看看