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。

  • 相关阅读:
    Mysql8.0中caching_sha2_password报错解决
    Centos7 安装mysql-8.0.18(rpm)
    如何有效的清理yum缓存
    虚拟机安装后配置IP地址
    正确计算linux系统内存使用率
    Linux 怎样更改locale语言设置
    linux把EDT时间修改为CST格式
    开放接口的安全验证方案(AES+RSA)
    Linux下JDK中文字体乱码
    服务器http请求https服务时报错解决方案
  • 原文地址:https://www.cnblogs.com/LinxiHuang/p/9247917.html
Copyright © 2011-2022 走看看