当前位置:首页 > 科技  > 软件

针对尺寸单位,为什么不应该使用 px 作为尺寸单位?以及最佳实践!

来源: 责编: 时间:2024-04-22 09:13:37 281观看
导读Hello,大家好,我是 Sunday。响应式适配是日常开发中非常常见的问题,所以在面试中可能会被经常问到。但是很多同学却没有专门了解过这方面的知识,导致被问到这方面问题的时候,回答并不尽如人意。所以,今天咱们就把整个响应式

Hello,大家好,我是 Sunday。RGP28资讯网——每日最新资讯28at.com

响应式适配是日常开发中非常常见的问题,所以在面试中可能会被经常问到。但是很多同学却没有专门了解过这方面的知识,导致被问到这方面问题的时候,回答并不尽如人意。RGP28资讯网——每日最新资讯28at.com

所以,今天咱们就把整个响应式适配的问题、方案 好好梳理一遍,彻底帮助大家解决这个问题。RGP28资讯网——每日最新资讯28at.com

01:为什么不要使用 px?

屏幕上显示的所有内容都由像素组成。但是,不同的手机屏幕在 大小、方向、缩放级别和像素上都不相同。比如:Iphone15 和 Iphone15Plus。RGP28资讯网——每日最新资讯28at.com

图片图片RGP28资讯网——每日最新资讯28at.com

所以,这就会导致在一个屏幕上看起来完美的布局在另一个屏幕上可能会 “破板”。RGP28资讯网——每日最新资讯28at.com

假设:一个宽度为 600px 的 div,在设计中它应该占据屏幕的一半。但是当你遇到不同的 屏幕 时(4K、1080P、或者 手机)那么这固定的 600px 是无法占据整个屏幕一半的宽度的。RGP28资讯网——每日最新资讯28at.com

那么这就会导致咱们刚才所说的 “破板” 问题,因此我们不应该使用 px 作为尺寸单位。RGP28资讯网——每日最新资讯28at.com

02:应该使用什么?

为此 css 提供了很多的尺寸单位来代替 px,如:rem、em、vh、vw...RGP28资讯网——每日最新资讯28at.com

所以接下来咱们就分别来看看这些尺寸单位代表的都是什么意思,以及应用场景RGP28资讯网——每日最新资讯28at.com

2.1:rem 与 em

  • rem:“root em”,即:html 根标签的 fontsize 大小。
  • em:相对于父元素的 fontsize 大小

在响应式的开发中,更加推荐使用 rem 而 非em,原因如下:RGP28资讯网——每日最新资讯28at.com

  • 根相对: rem单位相对于根 (<html>) 元素的字体大小
  • 可扩展性: 更改根元素的字体大小可以缩放整个网站中指定的大小rem,从而可以更轻松地调整不同屏幕尺寸的布局并提高可访问性。
  • 默认大小: 默认大小 1rem 通常等于 16 像素,除非根元素的字体大小明确设置为不同的值。
  • 一致性: 使用rem单位有助于在整个网站上保持一致的大小调整,因为它避免了使用em单位出现的 "复合效应(即由于嵌套关系,大小会被动的根据祖先元素增大或减小)"。

在日常开发中,我们可以直接通过如下代码来控制 html 根标签 fontsize 动态变化:RGP28资讯网——每日最新资讯28at.com

/** * 初始化 rem 基准值,最大为 40px */export const useREM = () => {  // 定义最大的 fontSize  const MAX_FONT_SIZE = 40  // 监听 html 文档被解析完成的事件  document.addEventListener('DOMContentLoaded', () => {    // 获取 html 标签    const html = document.querySelector('html')    // 获取根元素 fontSize 标准,屏幕宽度 / 10。(以 Iphone 为例 Iphone 6 屏幕宽度为 375,则标准 fontSize 为 37.5)    let fontSize = window.innerWidth / 10    // 获取到的 fontSize 不允许超过我们定义的最大值    fontSize = fontSize > MAX_FONT_SIZE ? MAX_FONT_SIZE : fontSize    // 定义根元素(html)fontSize 的大小 (rem)    html.style.fontSize = fontSize + 'px'  })}

2.2:ViewProt

视口单位(ViewProt)表示用户浏览器窗口的大小。它有两个常用的尺寸单位:RGP28资讯网——每日最新资讯28at.com

  1. vw:表示视口宽度的百分比,即:1vw 代表视口宽度的 1%
  2. vh:表示视口高度的百分比,即:1vh 代表视口高度的 1%

除此之外,还有两个标记单位:vmin 和 vmax 。表示基于视口的最小和最大尺寸。RGP28资讯网——每日最新资讯28at.com

  1. vmin(视口最小值):表示视口较小尺寸(宽度或高度)的百分比。 1 vmin 等于视口较小尺寸的 1%。如果视口宽度为 1000px,高度为 800px,则 1vmin 为 8px。
  2. vmax(视口最大值):表示视口较大尺寸(宽度或高度)的百分比。 1 vmax 等于视口较大尺寸的 1%。如果视口宽度为 1000 像素,高度为 800 像素,则 1vmax 为 10 像素。

2.3:百分比(%)

百分比 永远相对于父元素 的大小的。它允许相对于父元素的大小定义大小、边距、填充和其他属性,而不是固定的。因此,所有的 百分比(%) 都会带来 复合效应(即由于嵌套关系,大小会被动的根据祖先元素增大或减小) 问题RGP28资讯网——每日最新资讯28at.com

.container {  width: 50%; /* 容器将占据其父容器宽度的50% */}.background-element {  background-position: 50% 50%; /* 将背景图像置于中心 */}

3:最佳实践

关于尺寸单位的处理有很多的方式,以下是很多公司最常见的一种处理方式:RGP28资讯网——每日最新资讯28at.com

  1. 针对字体大小: 尽量使用 rem 单位,配合 动态 rem 计算进行处理。
  2. 针对宽、高:尽量使用 vw + vh 单位,避免 复合效应

RGP28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-84463-0.html针对尺寸单位,为什么不应该使用 px 作为尺寸单位?以及最佳实践!

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: React 中,用到的几种浅比较方式及其比较成本科普

下一篇: Gopher的Rust第一课:Rust的那些事儿

标签:
  • 热门焦点
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 6月安卓手机性价比榜:Note 12 Turbo断层式碾压

    6月份有一个618,虽然这是京东周年庆的日子,但别的电商也都不约而同的跟进了,反正促销没坏处,厂商和用户都能满意。618期间一些产品也出现了历史低价,那么各个价位段的产品性价比
  • 0糖0卡0脂 旭日森林仙草乌龙茶优惠:15瓶到手29元

    旭日森林无糖仙草乌龙茶510ml*15瓶平时要卖为79.9元,今日下单领取50元优惠券,到手价为29.9元。产品规格:0糖0卡0脂,添加草本仙草汁,清凉爽口,富含茶多酚,保留
  • K8S | Service服务发现

    一、背景在微服务架构中,这里以开发环境「Dev」为基础来描述,在K8S集群中通常会开放:路由网关、注册中心、配置中心等相关服务,可以被集群外部访问;图片对于测试「Tes」环境或者
  • 分布式系统中的CAP理论,面试必问,你理解了嘛?

    对于刚刚接触分布式系统的小伙伴们来说,一提起分布式系统,就感觉高大上,深不可测。而且看了很多书和视频还是一脸懵逼。这篇文章主要使用大白话的方式,带你理解一下分布式系统
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • 让我们一起聊聊文件的操作

    文件【1】文件是什么?文件是保存数据的地方,是数据源的一种,比如大家经常使用的word文档、txt文件、excel文件、jpg文件...都是文件。文件最主要的作用就是保存数据,它既可以保
  • 中国家电海外掘金正当时|出海专题

    作者|吴南南编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)2023年,出海市场战况空前,中国创业者在海外纷纷摩拳擦掌,以期能够把中国的商业模式、创业理念、战略打法输出海外,他们依
  • 苹果、三星、惠普等暂停向印度出口笔记本和平板电脑

    集微网消息,据彭博社报道,在8月3日印度突然禁止在没有许可证的情况下向印度进口电脑/平板及显示器等产品后,苹果、三星电子和惠普等大公司暂停向印度
Top