zoukankan      html  css  js  c++  java
  • ** PC端完美兼容各种分辨率的简便方法 **

    原文链接:https://blog.csdn.net/qq_43156398/article/details/102785370

    PS:此方法需使用到less或者scss的@变量来支持

    以设计图 1920 宽度为例:
    css中存在一种叫vw的单位,是针对浏览器宽度为基础的百分比单位,与%的区别在于,子元素%是相对于父级元素的宽度来计算的,而vw则是针对浏览器的宽度来计算的。打个比方,浏览器宽度为1920px,父级元素宽度为100px,子元素宽度写50%则是50px;而子元素如果写50vw,则其宽度则为浏览器宽度的50%即960px;

    弄清楚这点之后,我们可以计算得出:
    100vw = 1920px;
    1vw = 19.2px
    1px = 1 / 19.2vw;

    由此,我们可以设置变量 @1px : 1 / 19.2vw;

    如此一来,在写样式的时候就可以使用到@1px进行计算,如图:

    这样如果浏览器大小发生变化,对应的vw值也会改变,自然vw计算的px也会发生改变,就达到了我们兼容各种浏览器的目的;
    但是,这个方法美中不足的是,当浏览器宽度逐渐变小时,margin padding等值也会越来越小,而字体最小是12px,所以大概在800px左右的时候元素会挤在一块,虽然我们现在不必做800分辨率的PC兼容,一般最小兼容到1200,但是为了严谨,我们还是用媒体查询兼容一下1200以下分辨率的

    当然,也不是说按1200设计图的元素属性值重写一遍

    重点
    1200 / 1920 = 0.625
    我们知道了两者的比例,这时候再设置一个变量,也可以叫常量,因为这时候我们要设置一个固定的值

    因为按1920设计图来的,所以,我们设置1200下的每1px为1920的0.625px;

    @1200-1px : 0.625px

    这时候写
    @media screen and(max-1201){
    复制以上css代码,并把@1px全局替换为@1200-1px;
    }
    如图:

  • 相关阅读:
    Nhibernate初学
    TSQL笔记
    Java是剑客飘逸;.NET是刀客霸道 (一) 【转载】
    在datagrid中求和(vb.net,c#)
    Java牢骚之我见(转载)
    Java是剑客飘逸;.NET是刀客霸道 (二) 【转载】
    可可西里观后感(转)保护藏羚羊
    .net快速入门方法,转csdn
    手工添加“显示桌面”快捷方式
    过年128>24
  • 原文地址:https://www.cnblogs.com/web-record/p/11911943.html
Copyright © 2011-2022 走看看