码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Day13:vw 和 vh 基本使用


    目标:使用 vw 和 less 完成移动端的布局。


    一、vw 适配方案

    1、vw 和 vh 基本使用

    vw 和 vh 是相对单位,相对视口尺寸计算结果。

    • vw:viewport width(1vw = 1/100视口宽度 )
    • vh:lviewport height ( 1vh = 1/100视口高度 )
    <head>
      <title>vw 和 vh 基本使用title>
      <style>
        * {
          margin: 0;
          padding: 0;
        }
    
        /* vw 和 vh 是相对视口宽高计算结果,可以直接实现移动端适配效果 */
        /* .box {
            width: 50vw;
            height: 30vw;
            background-color: pink;
          } */
    
        .box {
          width: 20vh;
          height: 50vh;
          background-color: green;
        }
      style>
    head>
    
    <body>
      <div class="box">div>
    body>
    
    2、px 转换为 vw 和 vh

    vw单位的尺寸 = px 单位数值 / ( 1/100 视口宽度 )

    vh单位的尺寸 = px 单数数值 / ( 1/100 视口高度 )

    以主流设计稿尺寸(375 * 667)为例子,则:

    • 1vw = xxx px / 3.75
    • 1vh = xxx px / 6.67

    举一个简单的例子,帮助大家理解:

    1. index.html 代码
    <head>
        <title>px 转换为 vw 和 vhtitle>
        <link rel="stylesheet" href="./demo.css">
    head>
    
    <body>
        <div class="box1">div>
        <div class="box2">div>
    body>
    
    1. less 代码
    .box1 {
      width: (68 / 3.75vw);
      height: (29 / 3.75vw);
      background-color: pink;
    }
    
    .box2 {
      width: (68 / 6.67vh);
      height: (29 / 6.67vh);
      background-color: green;
    }
    
    // px单位尺寸 / 1/100视口的宽度或高度
    
    1. css 代码
    .box1 {
      width: 18.13333333vw;
      height: 7.73333333vw;
      background-color: pink;
    }
    
    .box2 {
      width: 10.19490255vh;
      height: 4.34782609vh;
      background-color: green;
    }
    
    3、vw 和 vh 混合使用的问题

    vw 和 vh 不混合使用, 一般使用 vw 作为单位尺寸。

    比如:375 * 667 的设计稿有一个 100 * 100 的正方形,如果混合使用 width: (100 / 3.75vw),height: (100 / 6.67vh),在 375 * 667 屏幕下是个正方形,如果换成其他像素的手机,就可能不再是正方形了。

    所以我们在使用 vw 或 vh 布局时,只使用是一个单位,width: (100 / 3.75vw),height: (100 / 3.75vw) 或 width: (100 / 6.67vh),height: (100 / 6.67vh),这样就能保证在所有屏幕上都是一个正方形。一般我们使用 vw 开发。


    二、综合案例-酷我音乐

    结合之前所学,使用 vw 完成如下移动端页面布局:

    在这里插入图片描述

    想要完整代码的,点击这里获取Day13综合案例完整代码。完全免费,仅供学习参考使用。



    在这里插入图片描述

    乾坤未定,你我皆是黑马


  • 相关阅读:
    建设网站制作公司的选择标准是什么?
    高通平台Android 蓝牙调试和配置手册-- A2DP Audio Quality Issues
    MIT6.830-lab6-Rollback and Recovery(数据库的日志回滚和恢复)
    Prometheus+Grafana可视化监控【Nginx状态】
    Android 13 新特性及适配指南
    S/4HANA(本地部署或云版)跟 SAP 家族系统以及非SAP系统的集成,到底什么是推荐的方式?
    学3D建模能作为副业吗?
    使用 NanUI 快速创建具有现代用户界面的 WinForm 应用程序
    【多御安全浏览器】极简无广告,开发设计思路贴近用户需求
    springboot+mybatis+mysql+Quartz实现任务调度(定时任务,实现可配置)
  • 原文地址:https://blog.csdn.net/EmulateStep/article/details/139484221
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号