viewpoint与rem、百分比、px 基础与面试题:viewpoint 与 rem、百分比高度、px

简介: 该文档介绍了网页设计中的尺寸单位,包括`viewpoint`、`rem`、百分比和像素`px`的概念和差异。`viewpoint`(如`vw/vh`)基于用户视口大小,常用于移动端适配;`rem`相对于根元素字体大小,适合做响应式设计;百分比相对于父元素尺寸,两者在响应式和基准上有所不同;像素`px`是图像和数字图形的基本单位,常用于精确布局。像素密度(PPI)影响图像清晰度,不同设备中像素表现形式不一。

一、定义

一个表总结:

名称 定义 使用示例
viewpoint 是指用户在网页上实际可见和可交互的区域,通常指的是浏览器窗口或移动设备的屏幕尺寸。 width:100vw;height:100vh
rem (root em)是相对于根元素(通常是 <html> 元素)的字体大小来计算的单位。 width:100rem;height:100rem
百分比 是相对于父元素的尺寸来计算所占大小 width:100%;height:100%
px 像素 width:100px;height:100px


二、viewpoint 与 rem 的差异

  1. 单位类型:
  • rem(root em)是相对于根元素(通常是 <html> 元素)的字体大小来计算的单位。
  • viewport 是指用户在网页上实际可见和可交互的区域,通常指的是浏览器窗口或移动设备的屏幕尺寸。
  1. 适用范围:
  • rem 主要用于设置字体大小和元素尺寸,它是相对于根元素的字体大小来计算的,可以用于实现相对于根元素的等比缩放。
  • viewport 主要用于控制网页在移动设备上的显示效果,通过 <meta> 标签设置 viewport,以确保页面在不同设备上以正确的比例显示,并控制用户是否可以缩放页面。
  1. 计算方式:
  • rem 的计算是相对于根元素的字体大小,例如,1rem 等于根元素的字体大小。
  • viewport 的计算是相对于视口的大小,例如,1vw 等于视口宽度的 1%。
  1. 应用场景:
  • rem 通常用于实现相对于根元素的等比缩放,特别适用于响应式设计。
  • viewport 用于控制网页在移动设备上的显示效果,确保页面在不同设备上以正确的比例显示,并控制用户是否可以缩放页面

三、viewpoint 与 百分比 的差异

  1. 基准不同:
  • 百分比是相对于父元素的尺寸来计算的,而vw/vh是相对于视口的尺寸来计算的。
  • 如果父元素的尺寸与视口尺寸相同,那么百分比和vw/vh可能会产生相似的效果。但如果父元素的尺寸与视口尺寸不同,那么它们就会产生不同的效果。
  1. 响应式性:
  • 使用vw/vh更具有响应式的特性,因为它们是相对于视口的大小来计算的,可以随着视口的变化而变化,从而更好地适应不同设备的屏幕尺寸。
  • 百分比相对于父元素的大小计算,如果父元素的大小发生变化,那么百分比计算出的大小也会相应变化,但它不直接与视口大小相关联。
  1. 用途不同:
  • 在某些情况下,使用百分比可能更适合,特别是当元素的尺寸应该相对于其父元素而不是整个视口时。
  • 使用vw/vh通常更适合于实现基于视口大小的布局和设计,尤其是在移动设备上。

四、像素(px)

一块屏幕的能显示的部分都是由一个一个的像素点构成的。在网页和UI中,这也是不可再细分的单位,也是最小的单位。

上述 viewpoint、 rem、em、百分比 其实本质上都是要确定需要在屏幕上使用多少个宽度像素作为一个基准单位来适应不同屏幕大小,以正常显示网页内容。

像素是图像显示和数字图形处理中的基本单位,用于描述图像的分辨率和清晰度。一个像素代表图像中的一个最小的、不可分割的点或颜色单元,是构成数字图像的基本单元之一。

在计算机图形学中,像素通常表示为一个有限的方块或矩形区域,每个像素可以包含一个颜色值,用于描述图像在该点的色调、亮度和饱和度等信息。根据颜色深度的不同,每个像素可以包含不同位数的颜色信息,例如 8 位颜色(256 色)、24 位真彩色(约 1677 万色)等。

像素密度指的是每英寸包含的像素数量,通常表示为每英寸的像素数(PPI,Pixels Per Inch)。像素密度越高,图像显示的细节和清晰度就会更高,比如高分辨率的 Retina 显示屏就有更高的像素密度。

在不同的设备和显示器中,像素的大小和显示方式可能有所不同。例如,传统液晶显示器中的像素是一个固定大小的点,而在 Retina 显示屏等高密度显示器中,一个逻辑像素可能会对应多个物理像素,以提供更高清晰度的显示效果。

总的来说,像素是数字图像中描述图形、图像和文本的基本单元,它在计算机视觉、数字图形处理、网页设计等领域都有着重要的作用。我们通过调整像素的颜色、位置和密度等属性,可以创造出各种丰富多彩的视觉效果。


相关文章
|
26天前
|
前端开发 小程序 JavaScript
面试官:px、em、rem、vw、rpx 之间有什么区别?
面试官:px、em、rem、vw、rpx 之间有什么区别?
29 0
|
3月前
|
前端开发 JavaScript Serverless
揭秘CSS布局神器:vw/vh、rem、%与px大PK,掌握它们,让你的网页设计秒变高大上,面试难题迎刃而解!
【8月更文挑战第4天】在Web开发中,合理选择CSS单位对响应式布局至关重要。本文探索viewport单位(vw/vh)、rem、百分比(%)及像素(px)的基础知识与应用场景。通过代码示例,展示如何运用这些单位实现全屏布局、尺寸比例调整、灵活的元素大小及固定尺寸。最后,模拟面试题,介绍如何仅用CSS实现一个元素的高度为其宽度两倍且响应视口变化的方法。
247 8
|
6月前
|
前端开发
面试官【说一下移动端1px的解决方案】
面试官【说一下移动端1px的解决方案】
71 0
|
编解码 前端开发 JavaScript
面试官:说一下 px、em、rem、vw/vh?em和rem的区别?
面试官:说一下 px、em、rem、vw/vh?em和rem的区别?
63 0
|
前端开发
[前端CSS高频面试题]如何画0.5px的边框线(详解)
[前端CSS高频面试题]如何画0.5px的边框线(详解)
286 0
|
3月前
|
存储 Java
【IO面试题 四】、介绍一下Java的序列化与反序列化
Java的序列化与反序列化允许对象通过实现Serializable接口转换成字节序列并存储或传输,之后可以通过ObjectInputStream和ObjectOutputStream的方法将这些字节序列恢复成对象。
|
1天前
|
存储 缓存 Java
大厂面试必看!Java基本数据类型和包装类的那些坑
本文介绍了Java中的基本数据类型和包装类,包括整数类型、浮点数类型、字符类型和布尔类型。详细讲解了每种类型的特性和应用场景,并探讨了包装类的引入原因、装箱与拆箱机制以及缓存机制。最后总结了面试中常见的相关考点,帮助读者更好地理解和应对面试中的问题。
14 4
|
30天前
|
算法 Java 数据中心
探讨面试常见问题雪花算法、时钟回拨问题,java中优雅的实现方式
【10月更文挑战第2天】在大数据量系统中,分布式ID生成是一个关键问题。为了保证在分布式环境下生成的ID唯一、有序且高效,业界提出了多种解决方案,其中雪花算法(Snowflake Algorithm)是一种广泛应用的分布式ID生成算法。本文将详细介绍雪花算法的原理、实现及其处理时钟回拨问题的方法,并提供Java代码示例。
59 2
|
1月前
|
JSON 安全 前端开发
第二次面试总结 - 宏汉科技 - Java后端开发
本文是作者对宏汉科技Java后端开发岗位的第二次面试总结,面试结果不理想,主要原因是Java基础知识掌握不牢固,文章详细列出了面试中被问到的技术问题及答案,包括字符串相关函数、抽象类与接口的区别、Java创建线程池的方式、回调函数、函数式接口、反射以及Java中的集合等。
27 0
|
3月前
|
XML 存储 JSON
【IO面试题 六】、 除了Java自带的序列化之外,你还了解哪些序列化工具?
除了Java自带的序列化,常见的序列化工具还包括JSON(如jackson、gson、fastjson)、Protobuf、Thrift和Avro,各具特点,适用于不同的应用场景和性能需求。