二十、移动端网页开发-px 和 vw基础知识

news2025/2/2 5:43:38

目录:
1. 基础准备
2. vw 详解

一、基础准备

1. 观察你的html里面有没有meta完美视口设置,如果有,就不用再管,如果没有,就加上。

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!--手机开发必须设置手机端的完美视口,以适配css像素和物理像素的视觉差-->
  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
  
  <title>Document</title>

</head>

2.问题分析

当我们设置了完美视口后,会出现问题:

- 不同的设备完美视口不同:
	iphone6 - 375
	iphone6plus -- 414
	
- 由于不同设备视口和像素比不同,所以同样的375个像素在不同的设备下意义是不一样的,比如在iphone6中 ,375是全屏,而到plus中375就会缺一块。

- 所以在移动开发时,不能再使用px来进行布局。

解决方法:使用vw

<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <!--设置手机端的完美视口,以适配css像素和物理像素的视觉差-->
  <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
  <title>Document</title>
<style>
  *{
    margin: 0;
    padding: 0;
  }

  .box1{
  	 /* 开发的是手机移动页面,就不能用px,而是用vw
	   100vw = 一个视口的宽度(100%),在这里就是和手机屏幕宽度一样
     */
    width: 100vw;
    height: 100px;
    background-color: #bfa;
  }
</style>
</head>
<body>

  <div class="box1">aa</div>
  
</body>
</html>

二、vw 详解

 1.vw:表示的是视口的宽度(viewport width)
  - 100vw = 一个视口的宽度(width = 100%)
  - 1vw = 1%视口宽度
  
 2.vw这个单位永远相当于视口宽度进行计算 
 
 3.百分比,他参照物的会随着父子关系变化,而不断改变,而vw参照的是永远是视口,所以推荐用vw。

 4.手机界面的设计图的宽度,一般是750 x 1125px 
  (都是iphone6 375的倍数, 750是2倍图, 1125 是3倍图, 随着手机的越来越高清,大部分设计图都提供3倍图)

练习:
假设现在设计图是:750px, 使用vw作为单位: 100vw (整个视口的宽度), 现在在设计图中测到的一个图标大小为: 48px x 35px ,
现在怎么把这个像素,换算成实际手机屏幕的像素?

   100vw = 750px(设计图的像素) 0.13333vw = 1px
   6.4vw = 48(设计图的像素)  (0.13333 * 48 = 6.4vw)
   4.667vw = 35px 
  .box1{
  	/* 设置图标的宽高*/
    width: 16.4vw;
    height: 4.667vw;
    background-color: #bfa;
  }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/762610.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Fiddler抓包app(方便后端定位app调用的是那个接口?参数为何?)

一、抓http请求的包 1、设置Fiddler允许远程连接 选择Tools->Options 选择Connections选项卡&#xff0c;选中允许远程连接&#xff0c;如图所示 2、手机与电脑连接相同的wlan网络 3、手机wlan设置手动代理&#xff0c; 1&#xff09;手动代理的主机名设为电脑ip&…

开放式耳机的类型有哪些?开放式耳机和封闭式耳机的区别?

今天来跟大家聊聊开放式耳机&#xff0c;其中开放式耳机类型有哪些&#xff1f;开放式耳机和封闭式耳机的区别在哪&#xff1f;市面上这么多开放式耳机&#xff0c;到底哪款开放式耳机才好用&#xff1f;下面一起来了解&#xff01; 一、什么是开放式耳机&#xff1f; 开放式…

新增进程管理、SSH会话管理功能,1Panel开源面板v1.4.0发布

2023年7月17日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.4.0版本。 在这个版本中&#xff0c;1Panel新增了进程管理和SSH会话管理功能&#xff1b;支持容器编辑和升级&#xff0c;数据库兼容MySQL 5.6&#xff1b;备份账号可以添加微软OneDrive&…

数字孪生和VR的结合将会带来怎样的改变?

随着科技的不断发展&#xff0c;数字孪生和虚拟现实&#xff08;VR&#xff09;这两个前沿技术正在逐渐融合&#xff0c;为各行各业带来了前所未有的改变。 数字孪生技术本身已经可以高度还原现实世界&#xff0c;而VR技术则能通过头戴式设备&#xff0c;让用户沉浸在这个虚拟…

uniapp editor组件 如何上传图片

需求&#xff1a;我们在使用uniapp的editor组件时&#xff0c;主要是为了保持输入内容的格式。里面的文字可以有颜色、粗体、排列样式&#xff0c;可以插入图片。就像下面这样。 一、如何处理图片&#xff0c;好让它在 rich-text组件中显示 &#xff1f; 逻辑&#xff1a;我们…

vue3和gin框架实现简单的断点续传

vue3和gin框架实现简单的断点续传 前端代码 Test.vue <template><div><inputtype"file"ref"uploadRef"change"upload"multiple/><templatev-for"item in fileList":key"item.key"><br><…

三步数据转报表,奥威BI-金蝶云星空SaaS版给你极速数据分析体验

根据经验&#xff0c;要部署一套大数据分析软件&#xff0c;至少也要准备环境、下载安装配置软件、配置数据源&#xff0c;有些完全从零开始入手的还面临着分析模型的搭建等难题。这些操作不说难度如此&#xff0c;光是耗时就不短&#xff0c;会给企业带来不小的成本压力。而奥…

读书笔记怎么写?《如何阅读一本书》读书笔记!

读书笔记有助于提高读书的效率&#xff0c;引发更多的思考。在阅读的过程中&#xff0c;读书笔记该怎么写&#xff1f;本文借助 boardmix在线白板&#xff0c;以《如何阅读一本书》为例&#xff0c;全面剖析如何做好读书笔记。 1.作者信息 《如何阅读一本书》是由莫提默J. …

【Maven】Maven下载,配置以及基本概念

文章目录 1. Maven简介2. Maven下载3. Maven环境配置4.Maven的基本概念4.1 仓库4.2 坐标4.3 仓库配置(修改IDEA默认Maven库) 1. Maven简介 Maven是一个Java项目管理工具和构建工具&#xff0c;用于管理项目的依赖关系、构建过程以及项目的部署。它是Apache软件基金会的开源项目…

ShardingSphere核心概念

&#x1f680; ShardingSphere &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&…

INDEMIND:视觉SLAM,助力服务机器人再进化

毋庸置疑&#xff0c;VSLAM将是推动机器人再次迭代的关键之一。 移动的“机器”还是机器人&#xff1f; 随着机器人的落地量持续增长&#xff0c;早期“忽略”的产品缺陷&#xff0c;正在引发越来越严重的负面影响。一方面&#xff0c;激光SLAM虽基于Cartographer算法不断演进…

吐血整理,接口测试到接口自动化集成总结,你不知道的都在这...

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 后端接口都测试什…

mybatis-plus 支持不同数据源sql切换

mybatis-plus 支持不同数据源sql切换 本篇内容主要讲解的是mybatis-plus 支持不同数据源sql切换 直接上代码 1、结构代码 2、引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactI…

mockserver实践:本地启动以命令行方式运行,实现挡板和转发

mockserver 官网学习地址 https://www.mock-server.com/#what-is-mockserver mockserver下载和启动 下载 官网下载jar包 https://www.mock-server.com/where/downloads.html 本次实践所用jar包 mockserver-netty-5.14.0-shaded.jar 本地启动 需要先准备好jave环境 1.普通…

5、WAMP配置虚拟主机

配置虚拟主机后可实现用域名的方式访问项目。 1、从WAMP图标&#xff0c;点击左键&#xff0c;进行虚拟主机管理&#xff0c;然后添加上虚拟主机名&#xff0c;即将来的浏览器的地址名&#xff0c;然后输入相应的文件夹。这种修改方式&#xff0c;直接自动修改了hosts文件。 2…

frp内网穿透工具实现局域网服务访问

frp工具实现内网穿透 frp主要作用是实现内网穿透&#xff0c;将内外网端口进行映射&#xff0c;这样如果我想访问局域网内的某项服务&#xff0c;那么我直接访问公网上相对应的映射端口即可。 frp安装配置较复杂&#xff0c;这里我们直接使用frp docker容器安装。所以如果主机…

第二十章:CANet:具有迭代细化和专注少样本学习的无类别分割网络

0.摘要 最近在语义分割方面的进展是由深度卷积神经网络和大规模标注图像数据集推动的。然而&#xff0c;像素级别的数据标注是繁琐和昂贵的。此外&#xff0c;训练好的模型只能在一组预定义的类别中进行预测。在本文中&#xff0c;我们提出了CANet&#xff0c;一种无类别偏见的…

Spark编程-使用SparkCore求TopN,Max_Min_Value

简介 使用SparkCore求top5值编程&#xff0c;最大最小值 求订单前五的TOP5值 数据 数据字段如下&#xff1a;orderid,userid,payment,productid 需求如下&#xff1a;从文本文件中读取数据&#xff0c;并计算出前5个payment(订单的付款金额)值 //字段 orderid,userid,payme…

Java读取INI文件详解及案例

引言&#xff1a; INI文件是一种常用的配置文件格式&#xff0c;它采用了键值对的形式存储配置信息。在Java编程中&#xff0c;读取和解析INI文件是一个常见的任务。本文将详细介绍如何使用Java读取INI文件&#xff0c;并提供一个案例演示。 ---------------文章目录---------…

给2023年还想要成为网络工程师的朋友的一份学习福利

2023的夏天再怎么热&#xff0c;网络工程师工作的机房也会让你瑟瑟发抖。 很久没有给粉丝们分享网络工程师学习资料了&#xff0c;如果你当下还在为成为网络工程师而学习&#xff0c;不妨顺手拿走这份网工资料包再出发&#xff0c;希望可以给大家的学习一些帮助。 网工光速入门…