美文网首页Python知识锦集
Python 布局:屏幕适配以及rem

Python 布局:屏幕适配以及rem

作者: IIronMan | 来源:发表于2019-03-18 17:38 被阅读27次

一、视口

  • 1.1、视口的概念
    视口 是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC端设计的网页,这样带来的后果是移动端会出现横向滚动条,为了避免这种情况,移动端会将视口缩放到移动端窗口的大小。这样会让网页不容易观看,可以用 meta 标签,name=“viewport ” 来设置视口的大小,将视口的大小设置为和移动设备可视区一样的大小。

  • 1.2、视口设置方法如下( 快捷方式:meta:vp + tab ):

    视口设置方法
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <!-- 视口的设置:meta:vp + Tab 键 产生下面的代码 ,如果网页想在移动端显示要加上这句话,网页端会自动略过这句话,只针对移动端
          viewport:视口的意思
          width=device-width:让视口的宽度等于设备的宽度
          user-scalable=no:不允许用户自动缩放
          initial-scale=1.0:初始放缩等于 1.0
          maximum-scale=1.0:最大放缩也等于 1.0
          minimum-scale=1.0 最小放缩也等于 1.0  三个缩放都要写的原因是兼容不同的浏览器
         -->
        <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <title>视口-屏幕适配</title>
        <style type="text/css">
            .box{
                width: 300px;
                height: 300px;
                background-color: gold;
             }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
    </html>
    

    提示:视口的设置:meta:vp + Tab 键 产生下面的代码 ,如果网页想在移动端显示要加上这句话,网页端会自动略过这句话,只针对移动端

  • 1.3、pc端与移动端渲染网页过程:

    pc端与移动端渲染网页过程

二、视网膜屏幕(retina屏幕)清晰度解决方案

  • 2.1、视网膜屏幕指的是屏幕的物理像素密度更高的屏幕,物理像素可以理解为屏幕上的一个发光点,无数发光的点组成的屏幕,视网膜屏幕比一般屏幕的物理像素点更小,常见有2倍的视网膜屏幕和3倍的视网膜屏幕,2倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/4,3倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/9。图像在视网膜屏幕上显示的大小和在一般屏幕上显示的大小一样,但是由于视网膜屏幕的物理像素点比一般的屏幕小,图像在上面好像是被放大了,图像会变得模糊,为了解决这个问题,可以使用比原来大一倍的图像,然后用css样式强制把图像的尺寸设为原来图像尺寸的大小,就可以解决模糊的问题。
  • 2.2、清晰度解决过程示意图:
    清晰度解决过程示意图

    上图是采用 CSS样式强制改变 图片的尺寸

三、background 新属性 (background-size:)

  • 3.1、background-size:的值

    • length:用长度值指定背景图像大小。不允许负值。
    • percentage:用百分比指定背景图像大小。不允许负值。
    • auto:背景图像的真实大小。
    • cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
    • contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。
  • 3.2、举例

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>background 新属性</title>
       <style type="text/css">
            .box{
               width: 200px;
               height: 200px;
               border: 2px solid #000;
               margin: 50px auto 0;
         
               background: url("images/apple.png") no-repeat;
               background-size: 200px 200px;
            }
        </style>
    </head>
    <body>
        <div class="box"></div>
    </body>
    </html>
    

    提示:上面的:background-size: 200px 200px; 可以换为background-size: 100% 100%background-size: auto;background-size: cover;background-size: contain;

四、适配布局类型

  • 4.1、适配布局类型介绍:设备屏幕有多种不同的分辨率,页面适配方案有如下几种:

    • 1、全适配:响应式布局+流体布局
    • 2、移动端适配:
      • 流体布局+少量响应式
      • 基于rem的布局
  • 4.2、流体布局:就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置为从边线计算盒子尺寸。

    • calc() :可以通过计算的方式给元素加尺寸,比如: width:calc(25% - 4px);
    • box-sizing
      • 1、content-box 默认的盒子尺寸计算方式
      • 2、border-box 置盒子的尺寸计算方式为从边框开始,盒子的尺寸,边框和内填充算在盒子尺寸内
  • 4.3、响应式布局:响应式布局就是使用媒体查询的方式,通过查询浏览器宽度,不同的宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而实现响应式布局。响应式布局的页面可以适配多种终端屏幕(pc、平板、手机)。相应布局的伪代码如下:写在样式里面

    @media (max-width:960px){
         .left_con{width:58%;}
         .right_con{width:38%;}
    }
    @media (max-width:768px){
         .left_con{width:100%;}
         .right_con{width:100%;}
    }
    

五、基于 rem 的布局

  • 5.1、em单位与rem单位的介绍
    em 单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根节点指的是 html标签,设置html标签的文字大小,其他的元素相关尺寸设置用rem,这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。如下例子:

    <!DOCTYPE html>
    <html lang="en">
    <head>
       <meta charset="UTF-8">
       <title>em单位</title>
       <style type="text/css">
          .box1{
               font-size: 12px;
               width: 20em;
               height: 10em;
               background-color: gold;
           }
           .box2{
               font-size: 20px;
               width: 20em;
               height: 10em;
               background-color: green;
           }
           p{
               font-size: 20px;
               text-indent: 2em;
           }
        </style>
    </head>
    <body>
        <div class="box1"> </div>
        <br>
        <br>
        <div class="box2"> </div>
        <p>首先了解em单位,em单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根
    节点指的是html标签,设置html标签的文字大小,其他的元素相关尺寸设置用rem,
    这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。</p>
    
    </body>
    </html>
    

    提示:em是根据 font-size 变化的,例如:如果:font-size: 20px;,那么 1em 就是 20px

    • rem 使用的一个例子,如下
    `rem` 使用的一个例子
       <!DOCTYPE html>
       <html lang="en" style="font-size: 20px">
       <head>
          <meta charset="UTF-8">
          <title>rem单位</title>
          <style type="text/css">
    
             .box1{
                 font-size: 12px;
                 width: 20rem;
                 height: 10rem;
                 background-color: gold;
              }
              .box2{
                 font-size: 20px;
                 width: 20rem;
                 height: 10rem;
                 background-color: green;
               }
           </style>
       </head>
       <body>
           <div class="box1">我是12px大小</div>
           <br>
           <br>
           <div class="box2">我是20px大小</div>
       </body>
       </html>
    

    提示:<html lang="en" style="font-size: 20px"> 中的font-size大小发生改变,其他一rem为单位的尺寸都会发生改变 ,1rem=font-size:的大小

    • cssrem 插件的安装:可以动态地将px尺寸换算成rem尺寸,进入packages目录:Sublime Text -> Preferences -> Browse Packages... 复制下载的cssrem目录到刚才的packges目录里。 重启Sublime Text。配置参数 参数配置文件:Sublime Text -> Preferences -> Package Settings -> cssrem px_to_rem - px转rem的单位比例,默认为40。 max_rem_fraction_length - px转rem的小数部分的最大长度。默认为6。 available_file_types - 启用此插件的文件类型。默认为:[".css", ".less", ".sass"]

相关文章

  • Python 布局:屏幕适配以及rem

    一、视口 1.1、视口的概念视口 是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px...

  • 移动端开发

    视口 屏幕适配 布局 流体布局 响应式布局 rem布局 弹性盒模型布局

  • 苏宁易购项目

    rem布局 认识rem rem适配1.伸缩布局 flex2.流式布局 百分比3.响应布局 媒体查询 (超小...

  • 2020-10-30 web移动端

    web移动端 1.重点:适配 2.目标:掌握4种适配方案 ( 流式布局、弹性布局、响应式布局、像素适配(rem适配...

  • rem布局

    这个可以适配rem布局的JS代码

  • 了解真实的『REM』手机屏幕适配

    了解真实的『REM』手机屏幕适配rem 作为一个低调的长度单位,由于手机端网页的兴起,在屏幕适配中得到重用。 使用...

  • H5之屏幕适配

    H5屏幕适配的方法1、流式布局2、固定宽度3、响应式4、通过viewport进行缩放(推荐)5、使用rem(推荐)...

  • rem 屏幕适配

    屏幕适配方法

  • 移动端、PC端屏幕适配

    移动端适配 页面引入ydui.flexible.js页面布局采用rem布局rem计算方式:设计图尺寸px / 10...

  • 手机屏幕适配方案 ( REM )

    REM 简介 rem 是屏幕适配中得到重用的长度单位。使用 rem 前端开发者可以很方便的在各种屏幕尺寸下,通过等...

网友评论

    本文标题:Python 布局:屏幕适配以及rem

    本文链接:https://www.haomeiwen.com/subject/dglxmqtx.html