前端界面开发大小单位 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。

转载于:https://www.cnblogs.com/LinxiHuang/p/9247917.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值