首页 > 其他分享 >28. 移动端适配

28. 移动端适配

时间:2022-12-08 18:58:47浏览次数:43  
标签:网页 适配 28 像素 视口 vw 移动 CSS

一、移动端适配

  屏幕是由一个一个发光的小点构成,这一个一个的小点就是像素。我们所说的分辨率说的就是屏幕中小点的数量。在前端开发中,像素主要分为两个情况讨论:CSS像素物理像素;上述我们所说的小点就属于 物理像素。在编写网页时,我们所用的像素都是 CSS像素。浏览器在显示网页时,需要将 CSS像素 转换为物理像素然后呈现。一个 CSS像素 最终由几个物理像素显示,由浏览器决定,默认情况下,在 PC端,一个 CSS像素 等于一个 物理像素

  视口(viewport)就是屏幕中用来显示网页的区域。我们可以通过查看视口的大小,来观察 CSS像素 和 物理像素 的比值。

  在不同的屏幕,单位像素的大小是不同的,像素越小屏幕越清晰。智能手机的像素远远小于 PC端 的像素点。默认情况下,移动端的网页会将视口设置为一个固定的数值,即 980px(CSS像素),以确保 PC端 网页可以在移动端正常显示。 但是如果网页的宽度超过了这个数值,移动端的浏览器会自动会网页缩放以完整显示网页。所以基本大部分 PC端 网站都可以在移动端中正常浏览,但是往往不会有一个好的体验。为了解决这个问题,大部分网站都会专门为移动端设计网页。

  移动端默认的视口大小是 980px(CSS像素)。默认情况下,移动端的像素比 就是 物理像素/CSS像素,即 移动端宽度/视口大小。如果我们直接在网页中编写移动端代码,在这样的视口下,像素比是非常不好的,会导致网页中的内容非常非常的小。因此,在编写移动端页面时,必须要确保有一个比较合理的像素比。我们可以通过 <meta> 标签来设置视口大小。每一款移动设备设计时,都会有一个最佳的像素比。一般,我们只需要将像素比设置为该值即可得到一个最佳效果。将像素比设置为最佳像素比的视口大小,我们称其为 完美视口

<!DOCTYPE html>
<html>
    <head>
        <title>移动端适配</title>
        <meta charset="UTF-8">
        <!-- 设置视口大小 device-width表示设备的宽度(完美视口) -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <style>
            *{
                margin: 0;
                padding: 0;
            }

            .box1{
                width: 100px;
                height: 100px;
                background-color: #bfa;
            }  
        </style>
    </head>
    <body>
        <div class="box1"></div>
    </body>
</html>

  在写移动端的页面时,一定要加上以下代码:

<meta name="viewport" content="width=device-width, initial-scale=1.0">

二、vw适配

  由于不同设备的视口和像素比不同,所以同样的像素大小在不同的设备下的意义也是不同的。所以,在移动端开发时,对网页不会能使用 px 来进行局部,应该使用 vw 来进行布局。vw 表示的视口宽度(viewport width)。vw 这个单位永远相对于视口宽度进行计算;

  • 100vw = 1个视口宽度;
  • 1vw = 1%视口宽度;

  假设设计图的宽度为 750px,使用 vw 作为单位,即 100vw = 750px ==> 1px = 0.13333333333333333vw;假设创建一个大小为 48px * 35px 大小的 div。

<!DOCTYPE html>
<html>
    <head>
        <title>移动端适配</title>
        <meta charset="UTF-8">
        <!-- 设置视口大小 device-width表示设备的宽度(完美视口) -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <style>
            *{
                margin: 0;
                padding: 0;
            }

            html{
                /* 
                    0.13333333333333333vw = 1px 
                */
                font-size: 0.13333333333333333vw;
            }

            .box1{
                /*
                    1rem = 1 html的字体大小 
                */
                width: 48rem;
                height: 35rem;
                background-color: #bfa;
            }  
        </style>
    </head>
    <body>
        <div class="box1"></div>
    </body>
</html>

  在有些旧版的浏览器中,网页中字体大小最小是 12px,不能设置一个比 12px 还要小的字体。如果我们设置了一个小于 12px 的字体,浏览器可能会将字体自动设置为 12px。此时,我们可以通过以下方式设置:

<!DOCTYPE html>
<html>
    <head>
        <title>移动端适配</title>
        <meta charset="UTF-8">
        <!-- 设置视口大小 device-width表示设备的宽度(完美视口) -->
        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <style>
            *{
                margin: 0;
                padding: 0;
            }

            html{
                /* 
                    0.13333333333333333vw = 1px 
                    6.66667vw = 50px
                */
                font-size: 6.66667vw;
            }

            .box1{
                /*
                    1rem = 1 html的字体大小 
                    1rem = 50px(设计图)
                */
                width: 0.96rem;
                height: 0.7rem;
                background-color: #bfa;
            }  
        </style>
    </head>
    <body>
        <div class="box1"></div>
    </body>
</html>

标签:网页,适配,28,像素,视口,vw,移动,CSS
From: https://www.cnblogs.com/nanoha/p/16966969.html

相关文章

  • 100028 求扇形的弦长已知半径角度
    <?phpheader('Content-Type:text/html;charset=utf-8');define('ROOT',$_SERVER['DOCUMENT_ROOT']);includeROOT.'/assets/php/head.php';$tit='求扇形的弦长已......
  • WorkPlus SE专业版:政企值得托付即时通讯移动办公平台
    WorkPlusSE专业版即时通讯及移动应用管理平台,是一款专注于企业安全沟通和移动工作的互联网产品。安全、开放是WorkPlus最重要的特性,旨在帮助企业完成安全、私有化部署的即......
  • Vue动态增添表单并赋予增删上下移动等操作
    Vue动态增添表单并赋予增删上下移动等操作开发需求:前端设计一个表单,依据题目类型,判断是否需要添加内容,若需添加,则可以动态增删、上下移动调整顺序等开发难点:需根据实际逻......
  • 关于手机app或者小程序自动化如何移动滑块
    1.前言最近由于某多频繁升级为了有数据无奈弄了自动化.自动化难点在于滑块处理2.自动化工具选择airtest1.正常协议过滑块首先计算出缺口图片到滑块图片的距离然后与本......
  • 移动端MOBFS安全检测工具简介和资料
    MobSF是MobileSecurityFramework的缩写,是一个移动端应用安全问题检出的框架和工具,它适用于Android/iOS/Windows,能够执行动态和静态的恶意软件的分析和检测。支持Android和......
  • Spring 集成提供的各种通道适配器和消息传递网关
    本节介绍Spring集成提供的各种通道适配器和消息传递网关,以支持与外部系统的基于消息的通信。每个系统,从AMQP到Zookeeper,都有自己的集成要求,本节将介绍它们。端点快速参考......
  • Feed Adapter(适配器)
    Spring集成通过馈送适配器为联合提供支持。执行工作以《罗马框架》为基础。您需要将此依赖项包含在项目中:<dependency><groupId>org.springframework.integration</gr......
  • 每日食词—day028
    buttonn. v.按钮variableadj. n.变量、变数、可变量、可变signupn.注册Seqlist顺序表filen. v.文件、文档siblingn.同辈、同层、同层级、兄弟......
  • 【AGC】关于华为AGC android Gradle8.0适配问题
    关于华为AGCandroidGradle8.0适配问题。-问题背景:一个cp反馈在安卓开发中androidstudio最新预览版的gradle为8.0,但是在集成华为AGCsdk时发现不适配问题。集成的服务......
  • 3、设计模式—单例、工厂、代理、适配器、观察者
     1、 设计模式——单例模式 单例模式负责创建自己的对象,同时确保只有一个对象被创建。比如,我们要统计网站的访问用户数,在任何时候都只有一个对象在记录用户数,否则就可能......