响应式布局的两种方式

37 篇文章 0 订阅
12 篇文章 0 订阅

媒体查询

/*
@media screen and (条件){
    html{
        font-siz:值px
    }
}
*/
/*
实现rem的适配
设计图是 750
需要适配的设备:750 720 540 480 424 414 400 384 375 360 320
 定义函数
 */
@media screen and (min-width:320px){
     html{
         font-size: 21.33333px/* 320/50 */
     }
 }
 @media screen and (min-width:360px){
    html{
        font-size: 24px/* 360/50 */
    }
}
@media screen and (min-width:384px){
    html{
        font-size: 25.6px/* 384/50 */
    }
}
@media screen and (min-width:400px){
    html{
        font-size: 26.6666px/* 400/50 */
    }
}
@media screen and (min-width:424px){
    html{
        font-size: 28.26666px/* 4240/50 */
    }
}
@media screen and (min-width:480px){
    html{
        font-size: 32px/* 480/50 */
    }
}
@media screen and (min-width:540px){
    html{
        font-size: 36px/* 540/50 */
    }
}
@media screen and (min-width:720px){
    html{
        font-size: 48px/* 720/50 */
    }
}
@media screen and (min-width:750px){
    html{
        font-size: 50px
    }
}

注意: 媒体查询仅仅是一个css使用的限制条件,并不会增加css的权重

利用jquery的resize事件

/* 
  适配rem
  rem的设计图  750px
  主要需要订好设计图上  1rem等于多少px

  750 / 15     1rem = 50px    需要设计图的宽度750   html的fontSize: 50px
*/
$(window).resize(function() {
  // console.log(111)
  // 获取屏幕的宽度
  let width = $(window).width()
  // if (width > 750) {
  //   width = 750
  // }
  // if (window < 320) {
  //   width = 320
  // }
  width = Math.max(width, 320)
  width = Math.min(width, 750)
  let fontSize = width / 15

  // 设计图的大小 / 50px   = 屏幕的大小 / 当前屏的fontSize
  $('html').css('fontSize', fontSize.toFixed(2) + 'px')
})

// 页面一加载,就触发resize事件
$(window).resize()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值