从1920*1080到移动端的响应式自适应结合

1.先谈一下响应式和自适应的区别

响应式:它是将已有的开发技巧(弹性网格布局、弹性图片、媒体和媒体查询)整合起来,针对任意设备对网页内容进行“完美”布局的一种显示机制。简言之,是一个网站能够兼容多个终端(手机、Pad、电脑)的布局方法,而不需要为每个终端书写一套特定版本的代码。

自适应:移动端的发展带来了自适应布局。通过JS及CSS的控制,借助rem、百分比等相对度量单位,让代码在多种分辨率的移动端正常呈现。自适应布局,是当前移动端实现网页布局的最常用的布局方法,需要综合使用多种知识。

2.想要移动端各个机型下都能完美显示,首先想到的方法就是自适应的rem/百分比,现在一般手机版的设计稿会按750px作为一个标准尺寸,以下为rem.js(750px下100px=1rem)

//根据屏幕设定html字体
(function (doc, win) {
 var docEl = doc.documentElement,
 resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
 recalc = function () {
  // 获取当前浏览器窗口宽度
  var clientWidth = docEl.clientWidth;
  var clientHeight = docEl.clientHeight;
  if (!clientWidth) return;
  // 设置字体大小
  docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
  // 当窗口大于750,设置字体为固定大小
  if(clientWidth>=750){
   docEl.style.fontSize = 100 * (750 / 750) + 'px';
  }
 };
 if (!doc.addEventListener) return;
 win.addEventListener(resizeEvt, recalc, false);
 doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);

3.想要完美显示750px到1920px内容,有两种方案:

一、bootstrap的栅格布局思想(此方案适用于列表项展示的栅格化内容展示);

二、媒体查询(将此区间的分辨率分为几个区间,每个区间设置不同的宽、高、字体大小等内容)

注:区间的划分,根据页面元素的布局挑选几个关键性节点。(依据的思想就是:当某个节点开始,上一步设置的元素大小已不再美观,就以此节点作为一个区间的开始)

@media only screen and (max-width: 768px) {
    
}
@media only screen and (min-width: 769px) and (max-width: 1000px) {
    
}
@media only screen and (min-width: 1001px) and (max-width: 1440px) {
    
}

@media only screen and (min-width: 1440px) and (max-width: 1920px) {
    
}

 4.最后将步骤2和3结合起来使用,即768px下以750px为标准使用rem单位,768px以上分区间处理或栅格处理

 

个人拙见,忘不吝赐教

posted @ 2019-07-05 09:37  小白&小菜  阅读(2047)  评论(0编辑  收藏  举报
我是一个小菜鸟,飞呀飞呀,快飞高