首页 > 其他分享 >CSS单位

CSS单位

时间:2023-10-09 10:57:39浏览次数:36  
标签:size px 像素 单位 屏幕 font CSS 设备

CSS常用长度单位

px:相对长度单位

  • 相对于显示器屏幕分辨率

rem:相对长度单位

  • 对于根元素(即html元素)font-size计算值的倍数
html{
  font-size:14px;  那么 14px=1rem  28px=2rem  即:n px=n/14 rem
}
h3{
    font-size=2rem; // 转换为px 即是 2*12=24px
}

vw 和 vh

  • 移动端开发比较好的选择
  • vw和vh相对于视口的宽度和高度
  • 1vw等于视口宽度的1%;1vh等于视口高度的1%
  • 1vh 等于1/100的视口高度;1vw 等于1/100的视口宽度
  • 浏览器高度950px,宽度为1920px, 1 vh = 950px/100 = 9.5 px,1vw = 1920px/100 =19.2 px

视口

  • 桌面端,视口指的是在桌面端,指的是浏览器的可视区域

  • 移动端,它涉及3个视口:Layout Viewport(布局视口),Visual Viewport(视觉视口),Ideal Viewport(理想视口)。

  • 视口单位中的“视口”,桌面端指的是浏览器的可视区域;移动端指的就是Viewport中的Layout Viewport,

  • “视区”所指为浏览器内部的可视区域大小,即window.innerWidth/window.innerHeight大小,不包含任务栏标题栏以及底部工具栏的浏览器区域大小

em:相对长度单位

  • 相对于当前对象内文本的字体尺寸

  • 如当前对象行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸

  • em的值并不是固定的;em会继承父级元素的字体大小

  • 假定当前默认字体尺寸是14px,n em即为14px字体尺寸的n倍:

body{
    font-size:14px; // 设置body默认字体是14px  那么 14px=1em  28px=2em  即:n px=n/14 em
}
h3{
    font-size:3em; // 转换为px 即是 3*14=42px
}

// 如果当前对象行内文本的字体尺寸设置为12px,则如下:
h2{
    font-size:12px;
    h3{
        font-size:3em; // 转换为px 即是 3*12=36px
    }
}

像素相关

3.1 物理像素 / 设备像素

  • 设备像素 / 物理像素 是一个长度单位

  • 物理像素对应显示设备中一个微小的物理部件

  • 设备像素是手机屏幕的一个参数,由手机制造商决定。例如 IPhone 6 的物理像素为 750 * 1334

3.2 设备独立像素 / 设备无关像素

设备独立像素(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,
这个点代表一个可以由程序使用的虚拟像素(比如:css像素),然后由相关系统转换为物理像素

设备独立像素,简称 DIP(device-independent pixel),又称为设备无关像素,是一个长度计量单位。

设备独立像素也是手机屏幕的一个参数,由手机制造商决定。例如IPhone 6 的设备独立像素为 375 * 667

1 个设备独立像素可以认为是计算机坐标系统中的一个点,代表可以通过程序控制使用的虚拟像素。

  • 普通屏幕下 1 设备独立像素 等于 1 物理像素
  • 高清屏幕下 1 设备独立像素 等于 N 物理像素
Retina 屏幕

Retina 是苹果公司 2010 年推出的一种显示标准,是把更多的像素点压缩至一块屏幕里,从而达到更高的分辨率并提高屏幕显示的细腻程度。

设备独立像素的出现,使得即使在高分辨率的屏幕下,也可以正常尺寸的显示元素,代码不受到设备的影响。

几款手机的屏幕像素参数,点击这里查看更多

型号 设备像素 设备独立像素
IPhone 3GS 320 * 480 320 * 480
IPhone 4 / 4s 640 * 960 320 * 480
IPhone 5 / 5s 640 * 1136 320 * 568
IPhone 6 / 7 / 8 750 * 1334 375 * 667
HUAWEI P10 1080 x 1920 360 x 640
IPhone X 1125 * 2436 375 * 812

3.5 设备像素比DPR(device pixel ratio DPR)

  • 设备像素比(简称dpr)定义了物理像素和设备独立像素的对应关系
  • 单一方向上 设备物理像素设备独立像素的比例
  • 设备像素比=物理像素/设备独立像素 (在x方向或者y方向)

rem是根据页面的根元素(html body元素)的font-size的一个相对的单位

PPI: 可以理解为屏幕的显示密度

Resolution: 就是我们常说的分辨率

window.devicePixelRatio

像素比的作用

程序可以根据像素比来显示不同的图片,达到清晰显示网页的效果。

@media (-webkit-min-device-pixel-ratio: 2) {
   #box{
       background-image: url('./image/[email protected]');
   }
}

@media (-webkit-min-device-pixel-ratio: 3) {
   #box{
       background-image: url('./image/[email protected]');
   }
}

并不是所有的图片都这样处理,只需要处理那些页面布局需要的图片和图标即可

3.3 CSS 像素 / 逻辑像素

CSS 像素是 CSS 语言中用来表示长度的一个单位,单位为 px。

  • CSS 像素不能直接跟现实中的长度单位换算
  • CSS 像素主要用在 CSS 与 JS 中控制元素的大小与位置

3.4 位图像素

3.4.1 位图和矢量图

  • 位图图像亦称为点阵图像或栅格图像,是由单个的像素点组成的。放大后会失真。
  • 矢量图,也称为面向对象的图像或绘图图像,在数学上定义为一系列由线连接的点。放大后不会失真。软件有Adobe Illustrator,Sketch

位图像素也是一个长度单位。位图像素是栅格图像(如:png,jpg,gif等)最小的数据单元。

1个位图像素对应于1个物理像素,图片才能得到完美清晰的展示

3.4.2 像素之间的关系

  • 页面不缩放的情况下,CSS 像素 == 独立设备像素 == 逻辑像素 == DIP == 位图像素
  • 在一个标准的显示密度下(普通屏),一个 CSS 像素对应着一个设备像素,高清屏幕下一个 CSS 像素 等于 N 个物理像素

3.4.3 像素密度

屏幕上每英寸可以显示的像素点的数量,单位是 ppi (pixels per inch ),这里还有另一个单位 dpi(dots per inch),两个值的计算方式都一样,只是使用的场景不同。 PPI 主要用来衡量屏幕,DPI 用来衡量打印机,鼠标等设备。

522d9264ff2a4aa6acf2267f8bf1d731~tplv-k3u1fbpfcp-zoom-1.image (960×633)

苹果曾经给出个一个标准:手机屏幕达到 300PPI、平板屏幕达到 220PPI、笔记本电脑屏幕达到 200PPI 即可认为是 Retina 屏幕。

vw单位换算

单独使用VM

// iPhone 6 尺寸作为设计稿基准
$vm_base: 375;
@function vw($px) {
  @return ($px / 375) * 100vw;
}

.btnStyle {
  width: vw(126);
  height: vw(40);
  line-height: vw(40);
  background: red;
  color: white;
  text-align: center;
  margin: vw(20) auto;
  font-size: 18px;
  border-radius: vw(4);
}

VM和rem搭配

// rem 单位换算:定为 75px 只是方便运算,750px-75px、640-64px、1080px-108px,如此类推
$vm_fontsize: 75; // iPhone 6尺寸的根元素大小基准值
@function rem($px) {
  @return ($px / $vm_fontsize ) * 1rem;
}

// 根元素大小使用 vw 单位
$vm_design: 750;
html {
  font-size: ($vm_fontsize / ($vm_design / 2)) * 100vw;
  // 同时,通过Media Queries 限制根元素最大最小值
  @media screen and (max-width: 320px) {
    font-size: 64px;
  }
  @media screen and (min-width: 540px) {
    font-size: 108px;
  }
}

// body 也增加最大最小宽度限制,避免默认100%宽度的 block 元素跟随 body 而过大过小
body {
  max-width: 540px;
  min-width: 320px;
}

.btnStyle2 {
  width: rem(126);
  height: rem(40);
  line-height: rem(40);
  background: red;
  color: white;
  text-align: center;
  margin: rem(20) auto;
  font-size: 18px;
  border-radius: rem(4);
}

标签:size,px,像素,单位,屏幕,font,CSS,设备
From: https://www.cnblogs.com/songxia/p/17750951.html

相关文章

  • Vue学习笔记(七):绑定css样式
      1绑定class样式¶vue为HTML绑定css中的class样式是通过v-bind实现的。  1.1绑定单个class¶把需要绑定的样式class名赋值给一遍变量,然后通过变量v-bind绑定class属性,绑定后的class并不会覆盖原来的class属性,而是与原来的class进行叠加。如下所示,d......
  • 使用postcss-px-to-viewport实现兼容
    为提高页面的兼容性,可使用postcss-px-to-viewport。1.安装依赖"postcss-px-to-viewport":"^1.1.1"2.在vite.config.js导入importpostcssPxToViewportfrom'postcss-px-to-viewport';3.增加css配置,示例如下returndefineConfig({plugins:[vue(),buildTi......
  • css - 脱离文档流
    CSSposition定位&z-index层级1.定位position:(1).相对定位relative:元素相对定位:a.相对于元素在文档流中原本的位置定位的b.不脱离文档流c.如果不设置偏移量,元素不会发生任何变化不改变元素性质(块级/内联元素)(2).绝对定位absolute:绝对定位的元素:a.相对于最近开启......
  • css
     目录1.介绍css2.CSS语法3.CSS注释4.CSS中的颜色值5.CSS长度单位6.html引入CSS的三种方法  6.1行内样式(内联样式)  6.2 内嵌样式  6.3外部样式7.选择器  7.1标签选择器  7.2类选择器  7.3ID选择器  7.4通配所有元素......
  • css字体样式
     1.font-style设置字体样式属性值:  normal:指定⽂本字体样式为正常的字体  italic:指定⽂本字体样式为斜体。2.文字字体font-family只能引用系统自带的字体样式,如果需要其他别的字体,需要从外部下载调用引用外部字体  网站:https://font.chinaz.com/katongziti.......
  • 6、计算机信息单位
    计算机信息单位1、信息的单位1.1、基本单位位(bit,比特):是计算机当中的最小数据单位,是二进制的一个数位,简称比特,一般用小b表示字节(Byte):字节是计算机中存储信息的基本单位,一般用大B表示位和字节的关系一个字节等于八个二进制1B=8b||1B=8比特字:CPU通过数据......
  • 在 Less 中使用与 Less 内置函数同名的原生 CSS 函数
    参考资料calc()-CSS:层叠样式表|MDNGettingstarted-Escaping|Less.jsUsingTheCSSFunctioncalc()InsideTheLESSCSSPreprocessor问题描述在原生CSS中有以下的函数:calc()、max()、min()等,而在Less中也有同名的函数,使用的时候可能会冲突,无法得到需要的结......
  • 华为iStack、 CSS 、Eth-Trunk、 M-LAG
    一、iStack设备堆叠1、定义堆叠是指将多台支持堆叠的特性交换机设备组合在一起,从逻辑上组合成一台交换设备。2、为什么要使用堆叠技术?(3个优点)通过交换机堆叠,可以实现网络高可靠性和网络大量数据转发,同时简化网络管理。3、iStack基本概念角色(堆叠中所有的交换机都称为成员交换机)主......
  • css中的字体样式
    一.字体的样式font-style:"normal"正常font-style:"italic"斜体 二.字体的粗细font-weight:"bold/bolder";bold是粗体 font-weight:400;400,500为正常500<为粗体>400为细体 三.字体的家庭font-family可以自己外部引入字体 四.行高line-height:200px 使文......
  • css的认知与样式
    #1.介绍##目录- [1.介绍](#1-介绍)- [2.CSS语法](#2-CSS语法)- [3.CSS注释](#3-CSS注释)- [4.CSS中的颜色值](#4-CSS中的颜色值)- [5.CSS长度单位](#5-CSS长度单位)- [6.html引入CSS的三种方法](#6-html引入CSS的三种方法)- [6.1行内样......