zoukankan      html  css  js  c++  java
  • Rem布局

    屏幕里的元素(图片文字 背景图片 精灵图)需要用rem表示,rem参考的是html中设置的font-size的大小,1rem=font-size的大小,所以当屏幕拉伸的时候,屏幕大小即html大小会变化,即设置的font-size会发生变化。

    所以屏幕里的元素因为用rem表示,即会出现自适应的大小缩放,达到自适应的效果。

    下面是手动的屏幕大小的变化,可以引入相应的js文件自动检测屏幕的大小,设置不同的font-size。

    @media screen and (min- 320px) {

    html {

    font-size: 32px;
    

    }

    }

    @media screen and (min- 360px) {

    html {

    font-size: 36px;
    

    }

    }

    。。。。。。。。。。等等

    拿到一个设计图时,会得到当前页面的宽度,eg:750px,

    即此时设置的参考值font-size大小为75px,但其他的元素有自己的大小,也需要用rem表示,比如一个字体大小为20px,

    需要换算,即20/75 rem 的大小 ,再进行屏幕的拉伸的时候,不同的屏幕大小会有不同的html里设置的font-size值,即可以换算成当前屏幕的大小,就达到了宽、高度随屏幕大小变化而自适应的效果。

    假如

    750/75 = w/? ,此时75px 为1rem, w为当前屏幕大小,?为屏幕改变的时候html的fontSize大小

    媒体查询可以获取当前屏幕的范围,给html的fontSize设置不同的大小;

    @media screen and (min- 360px) {

    html {

    font-size: 36px;
    

    }

    }

    若用js来获取当前屏幕的大小var w = window.innerWidth;

    给当前html的fontSize设置大小:

    750/75 = w/? ? = w/10

    document.documentElement.style.fontSize = w / 10 + "px";(documentElement是html)

    注意:

    精灵图自适应的时候,除了相应的换位rem外,还需设置background-size:

    精灵图的宽/设计图的font-size rem

    精灵 图的高/设计图的font-size rem

    解释:

    精灵图是事先设置一个盒子或者用伪元素,大小由精灵图里的所需图片的大小决定;背景图整个精灵图默认在这个盒子盒子左上角放置,精灵图通过向左和向上移动,所需的精灵图图片会移动到这个盒子或伪元素里, 这个盒子或者伪元素正好截取到这个所需图片的大小,向上向左移动的大小为所需图片在精灵图里的x、y坐标。所以当屏幕大小改变的时候,这个盒子或者伪类大小也改变,所以这个区域截取精灵图的区域变大/变小,也就截不全或截不到精灵图里所需的图片。但当把这个精灵图的大小也等比例随屏幕大小变化,那么可以一直截到相应的精灵图图片。

    .things ul li:nth-child(1)::after{

    content: '';
    
     1.28rem /* 96/75 */;
    
    height: 1.28rem /* 96/75 */;
    
    background: url(../images/icons.png)
    
    no-repeat
    
    0/* 120/75 */  
    
    -0.8rem /* 60/75 / / 90/75 */;
    
    background-size: 6.933333rem 6.933333rem /* 520/75 */; 
    
    position: absolute;
    
    left: 50%;
    
    transform: translateX(-50%);
    
    top: 0.533333rem /* 40/75 */;
    

    }

    用px2rem设置不同的设计图大小的font-size时,重启。

  • 相关阅读:
    317 随笔
    316 随笔
    315 随笔
    python 第一章
    matlab 第四章 第一节 字符串 元胞
    matlab 第三章 第二节 多维数组
    matlab 第三章
    python 循环+break continue
    Springboot 教程 导入
    matlab 第二章 第三节 数值表示、变量及表达式
  • 原文地址:https://www.cnblogs.com/zdy4396/p/14025076.html
Copyright © 2011-2022 走看看