总结使用的移动端布局方法

利用 @mediaj进行断点, 在每个断点中编写 css;

在浏览器宽度低于 768 时有效, 同理把 max 换成 min, 就会变成高于768 有效, 可以设置为宽度, 也可以设置为高度, 也可以同时设置多个值, 在 media 上, 很多值都可以作为判断的标准, 宽, 高, 宽高比, 颜色(这个是指定输出设备每个像素单位的比特值), 是否横屏或者是竖屏,

@media (max-width: 768px) {
  /* css */
}

媒体类型:

@media 还可以根据媒体类型进行断点,
all, 所有的设备, print, 打印, screen, 彩色的电脑屏幕, speech 未知
关键字:



@media (max-width: 768px) {
  /* 表示: 当浏览器宽度低于 1000px 时 */
  /* css */
}

@media (min-width: 1000px) and (max-width: 1150px) {
  /* 当浏览器宽度低于 1000px 时 和 小于 1150px */
  /* css */
}

@media only screen and (max-width: 1150px) {
  /* 当屏幕上显示 和 宽度小于 1150px */
  /* css */
}

@media not print and (max-width: 1150px) {
  /* 除了在打印显示外 和 宽度小于 1150px 时 */
  /* css */
}

按需 加载 css @media 还可以使用在link标签上
<link rel= "stylesheet" href="css/1.css" media="(max-width: 500px)">
平常响应式网站的开发:

通常使用 flex 宽度尽量使用 百分比, 间距, 高度, 字体大小使用 em; 这样可以很方便的进行大小控制

REM布局:

rem 这个单位, 会根据 html 中的 font-size 的大小来进行转换,

html {
  font-size: 100px;
  p {
    padding-top: 5rem;
  }
}
如何计算当前的 html 的font-size 值呢?

如果我们拿到的的是 750px 的设计搞, 那么设置成 当屏幕的宽度为750时, html的font-size 就是 100px(当然这个 100px 是可以随意设置的,设置为100px,是为了我们计算), 然后根据当前的屏幕的宽度(screenWidth) / 750 * 100, 这样就得到了当前屏幕宽度的 font-size 的值;

+function (document, win) {
  let documentEl = document.documentElement;
  let resizeEvent = "orientatonchange" in window ? "orientationchange" : "resize";
  let remCalc = function () {
    let clientW = documentEl.clientWidth;
    if (!clientW) {
      return
      documentEl.fontSize = 100 * (clientW/750) + "px"
    }
  }
  if (!document.addEventListener) {
    return;
    win.addEventListener(resizeEvent, remCalc, false)
    document.addEventListener("DOMContentLoaded", recalc, false)
  }

}(document, window)

这个方案是直接根据屏幕的宽度进行计算 font-size的, 而淘宝移动端的 rem 方案, 还根据你的 dpr 来计算, 而且会进行整体的缩放, 淘宝的这种方案,会更好;

淘宝的移动端的 REM;

这个很简单, 我们需要加载js就好了;

  <script src="http://g.tbcdn.cn/mtb/lib-flexible/%7B%7Bversion%7D%7D/??flexible_css.js,flexible.js">

如果我们将页面的 viewport 中的width 设置写死为 750px;

  <meta name="viewport" content="width=750">

具体链接参考方案3;

这样代码中直接使用 px 作为单位;
那么我们将宽度定死之后, 这样会导致我们再写的 media query 将会失去效果;

对比三种方法
1: 响应式的优缺点:

优点: 兼容性好, @media 在ie9以上都是支持的, pc 和 mobile 是一套代码;
缺点: 要写的css 代码会多, 而且各个断点需要做到位

2: REM 布局:

优点: 可以维持整体的布局效果, 移动端兼容性好,不用写多个 css 代码,还能使用 media query;
缺点:单位需改成 rem, 计算比较麻烦, pc 和 mobile 需要分开写

3: 设置 viewport 中 width:

优点: 和rem 差不多,可以直接使用 px;
缺点: 效果没有 rem 好,图片会模糊, 无法在使用 media query, 不同的手机上, height 会相差很大;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,100评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,308评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,718评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,275评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,376评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,454评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,464评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,248评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,686评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,974评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,150评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,817评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,484评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,140评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,374评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,012评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,041评论 2 351

推荐阅读更多精彩内容

  • 这篇文章,主要是总结一下,在移动端布局用过的方法。有三种,一种是响应式布局,利用@meida判断各个size;第二...
    井皮皮阅读 448评论 1 2
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,747评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,308评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,741评论 0 2
  • 主要介绍三种移动端布局方法: 响应式布局,利用@meida判断各个size。 REM 设置viewport中的wi...
    sdcV阅读 665评论 0 3