zoukankan      html  css  js  c++  java
  • rem与@media 的优缺点

      首先:   如果我们在做单独移动端网站或者app的时候  我建议  使用 rem  ;

    他能让我们在手机各个机型的适配方面;大大减少我们代码的重复性,是我们的代码更兼容。

    下面两个图一个调试在常用的机型 iPhone6 宽度是375*667  (一般的手页面的原型图为 750* ...)  另一个是我们最常出现问题的机型  iPhone5 因为是小机型所以比较容易出问题(错位!!!!)。

    这是我使用 rem 作为单位;通过js读取屏幕的宽度  以原型图宽度为标准;进行整个页面的font-size 设置;

    (function (doc, win) {
                var docEl = doc.documentElement,
                    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                    recalc = function () {
                        var clientWidth = docEl.clientWidth;
                        if (!clientWidth) return;
                        if (clientWidth >= 750) {//大于750 按750算
                            docEl.style.fontSize = '100px';
                        } else {//小于750的按百分比缩减
                            docEl.style.fontSize = 100 * (clientWidth / 750) + 'px';
                        }
                    };

    以750为例  浏览器读出代码为 代码中的750 可换成对应原型图的宽度  方便计算   。

    缺点:

    局限性; rem

    目前ie不支持 对pc页面来讲使用次数不多;

    数据量大:所有的图片,盒子都需要我们去给一个准确的值;才能保证不同机型的适配;

    @media 

    应用广泛  适用于 pc端  手机页面,通常做自适应布局时  我们比较常用。

    几个常用临界点

    正常编写   适用于 1200----1440的台式机

    1、@media (max- 1199px)  - - - - //小于1199的设备 

     

    2、@media (max- 991px) - - - - //小于991的设备

     

    3、@media (max- 767px) - - - - //小于768的设备 

     这样 我们页面就分为了4个部分   正常的台式机     笔记本    平板    手机

    每个部都可以根据自己的设计图去重新编写自己的样式

    缺点:相对于代码要重复很多 ; 可能存在闪屏的问题出现 解决办法  http://blog.csdn.net/small_tu/article/details/47317453

  • 相关阅读:
    单片机与嵌入式系统中C语言的位运算小记
    #ifndef、#def、#endif说明
    Freertos学习初识任务函数
    IAR(EWARM)下移植FreeRTOS到STM32F10x笔记
    visio 画 弯曲 箭头 ( 波浪线 曲线)
    dos 中tree的使用方法
    Win7下Borland C++ 4.5 & TASM5.0调试uC/OSII
    (*(volatile unsigned long *)
    有关推挽输出、开漏输出、复用开漏输出、复用推挽输出以及上拉输入、下拉输入、浮空输入、模拟输入区别
    POJ 1236 Network of Schools
  • 原文地址:https://www.cnblogs.com/web-snper/p/8406220.html
Copyright © 2011-2022 走看看