架构爱好者
学习交流中心

解释响应式页面设计的原理

响应式页面设计的原理是让页面根据浏览器屏幕宽度/视口宽度自适应,较理想地呈现出页面内容。

较常见的做法是使用CSS media query,而且通常会在meta标签中对viewport的宽度等进行设定(比如设定width: device-width)。但即便不用这种方法,只要页面能根据屏幕宽度做出自适应的调整,那就是响应式设计。

function fit () {
  const scale = $('body').width() / 640
  $('html').css('font-size', 100 * scale + 'px')
}

$(document).ready(() => {
  const userAgent = window.navigator.userAgent.toLowerCase()
  if (userAgent.indexOf('android') === -1 && userAgent.indexOf('iphone') === -1) {
    $('body').addClass('pc')
  }
  fit()
  $('html').css('height', $(window).height() + 'px')
  $(window).resize(fit)
  if (userAgent.indexOf('android') !== -1) {
    const originalHeight = $(window).height()
    // 部分安卓机弹出输入法时底部的fixed定位的按钮也会被谈起来导致输入框被遮住
    $(window).resize(() => {
      const scale = $('body').width() / 640
      // .footer-button-container是被fixed定位在页面底部的元素
      if (Math.abs(originalHeight - $('.footer-button-container').offset().top - 108 * scale) < 100 || $('.footer-button-container').offset().top === 0) {
        $('.footer-button-container').show()
      } else {
        $('.footer-button-container').hide()
      }
    })
  }
})

 

未经允许不得转载:技术杂烩 » 解释响应式页面设计的原理