当前位置: 首页 > news >正文

【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)

html5中,常用的单位有px、em、rem、%、vw、vh(不常用)、cm、m等,这里主要讲解px、em、rem、%、vw。

学习了解:主流浏览器默认的字号:font-size:16px,无论用什么单位,浏览器最终计算为像素px。

1、绝对单位 px,也称为像素,所谓绝对单位就是不随着网页的大小等变化的单位。

<style>
.box{width:160px;height:160px;background-color:red;}
</style>
<!-- 定义box -->
<div class='box'></div>

如上述的的盒子box的宽高就是160px,是固定的,不会随着浏览器或其他元素的变化而变化,因此也叫绝对的单位。

2、相对单位 em,所谓相对单位是相对于网页中的元素而言的。

默认情况下,1em = 浏览器的默认字号,即1em = 16px,因此上面的代码可以改为一下代码。

em受font-size字号的影响,如果设置了font-size:32px,思考一下会发生什么呢?当font-size设置为32px时,此时的1em = 32px,相应的box盒子也增大了一倍。

em受父元素的影响,一般情况下电脑端用em。

<style>
/* .box{width:160px;height:160px;background-color:red;} */
.box{width:10em;height:10em;background-color:red;}
</style>
<!-- 定义box -->
<div class='box'></div>

3、相对单位rem,可以理解为root(根)em。

所谓根字号或者根单位,默认是16px,除非认为去更新默认的字号,否则不变,不收祖先元素的影响,只受根字号的影响。同样的font-size不要再用16px表达,而是用font-size:0.5rem的形式进行表达,一般情况下,移动端用rem

<style>
html{
font-size:32px;
/*此时的 1rem = 32px*/
}
/* .box{width:160px;height:160px;background-color:red;} */
.box{width:10rem;height:10rem;background-color:red;font-size:0.5rem}
</style>
<!-- 定义box 此时的box大小为320px-->
<div class='box'></div>

4、百分比%,以父元素为参照我。

<style>
.box{width:160px;height:160px;background-color:red;}
.box .item {width:50%}
</style>
<!-- 定义box -->
<div class='box'><div class='item'></box>
</div>

父元素box为160px,那么item的宽度应为80px

4、视口单位vw和vh,视口就是viewport的意思。视口就是可视窗口的意思。

vw是视口宽度,vh视口高度,视口单位和百分比%相似,视口是以窗口的宽高作为基准,百分号是以父元素作为基准。

vh和vw是表示视窗高度和宽度的相对单位。其中,1vh等于视窗高度的1%,而1vw等于视窗宽度的1%。这些单位通常用于响应式设计中,以便根据用户设备的屏幕大小调整元素的尺寸和布局。

相关文章:

【小白学HTML5】一文讲清常用单位(px、em、rem、%、vw、vh)

html5中&#xff0c;常用的单位有px、em、rem、%、vw、vh&#xff08;不常用&#xff09;、cm、m等&#xff0c;这里主要讲解px、em、rem、%、vw。 学习了解&#xff1a;主流浏览器默认的字号&#xff1a;font-size:16px&#xff0c;无论用什么单位&#xff0c;浏览器最终计算…...

Fastgpt学习(5)- FastGPT 私有化部署问题解决

1.☺ 问题描述&#xff1a; Windows系统&#xff0c;本地私有化部署&#xff0c;postgresql数据库镜像日志持续报错" data directory “/var/lib/postgresql/data” has invalid permissions "&#xff0c;“ DETAIL: Permissions should be urwx (0700) or urwx,gr…...

ubuntu下安装TFTP服务器

在 Ubuntu 系统下安装和配置 TFTP&#xff08;Trivial File Transfer Protocol&#xff09;服务器可以按照以下步骤进行&#xff1a; 1. 安装 TFTP 服务器软件包 TFTP 服务器通常使用 tftpd-hpa 软件包&#xff0c;你可以使用以下命令进行安装&#xff1a; sudo apt update …...

深入解析 iText 7:从 PDF 文档中提取文本和图像

在现代开发中&#xff0c;PDF 文件的操作是不可避免的一部分。无论是生成报告、解析文档&#xff0c;还是从文件中提取信息&#xff0c;我们常常需要处理 PDF 文件。iText 是一个非常强大的库&#xff0c;广泛应用于 PDF 文件的创建、修改和解析。自 iText 7 发布以来&#xff…...

Rust编程语言入门教程 (六)变量与可变性

Rust 系列 &#x1f380;Rust编程语言入门教程&#xff08;一&#xff09;安装Rust&#x1f6aa; &#x1f380;Rust编程语言入门教程&#xff08;二&#xff09;hello_world&#x1f6aa; &#x1f380;Rust编程语言入门教程&#xff08;三&#xff09; Hello Cargo&#x1f…...

事务--实操演示

目录 一、准备工作 二、在MySQL中操作事务&#xff08;重点&#xff09; 第一种方式&#xff1a;使用命令的方式 第二种方式&#xff1a;设置MySQL事务不默认提交的方式 结 三、在JDBC中操作事务&#xff08;掌握&#xff09; 第一种方式&#xff1a;使用命令的方式 第…...

PHP是如何并行异步处理HTTP请求的?

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram&#xff0c;自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 &#xff1f; 5 IDEA必装的插件&…...

【Spring详解一】Spring整体架构和环境搭建

一、Spring整体架构和环境搭建 1.1 Spring的整体架构 Spring框架是一个分层架构&#xff0c;包含一系列功能要素&#xff0c;被分为大约20个模块 Spring核心容器&#xff1a;包含Core、Bean、Context、Expression Language模块 Core &#xff1a;其他组件的基本核心&#xff…...

在 Vue 3 中使用 Lottie 动画:实现一个加载动画

在现代前端开发中&#xff0c;动画是提升用户体验的重要元素之一。Lottie 是一个流行的动画库&#xff0c;它允许我们使用 JSON 文件来渲染高质量的动画。本文将介绍如何在 Vue 3 项目中集成 Lottie 动画&#xff0c;并实现一个加载动画效果。 如果对你有帮助请帮忙点个&#x…...

深度解析:使用 Headless 模式 ChromeDriver 进行无界面浏览器操作

一、问题背景&#xff08;传统爬虫的痛点&#xff09; 数据采集是现代网络爬虫技术的核心任务之一。然而&#xff0c;传统爬虫面临多重挑战&#xff0c;主要包括&#xff1a; 反爬机制&#xff1a;许多网站通过检测请求头、IP地址、Cookie等信息识别爬虫&#xff0c;进而限制…...

MySQL 主从复制原理及其工作过程

一、MySQL主从复制原理 MySQL 主从复制是一种将数据从一个 MySQL 数据库服务器&#xff08;主服务器&#xff0c;Master&#xff09;复制到一个或多个 MySQL 数据库服务器&#xff08;从服务器&#xff0c;Slave&#xff09;的技术。以下简述其原理&#xff0c;主要包含三个核…...

计算机网络抄手 运输层

一、运输层协议概述 1. 进程之间的通信 从通信和信息处理的角度看&#xff0c;运输层向它上面的应用层提供通信服务&#xff0c;它属于面向通信部分的最高层&#xff0c;同时也是用户功能中的最低层。当网络边缘部分的两台主机使用网络核心部分的功能进行端到端的通信时&…...

字符串函数和结构题内存对齐

图下为函数使用&#xff1a; #include <ctype.h>int main() {int ret isdigit(Q);printf("%d\n", ret);return 0; }int main() {printf("%c\n", toupper(a));printf("%c\n", tolower(A));return 0; }...

【嵌入式Linux应用开发基础】特殊进程

目录 一、守护进程&#xff08;Daemon Process&#xff09; 1.1. 概念 1.2. 特点 1.3. 守护进程的命名 1.4. 创建守护进程的步骤 1.5. 守护进程的实例 1.6. 守护进程的管理 1.7. 影响与处理 二、僵尸进程&#xff08;Zombie Process&#xff09; 2.1. 僵尸进程的定义…...

深度学习pytorch之19种优化算法(optimizer)解析

提示&#xff1a;有谬误请指正 摘要 本博客详细介绍了多种常见的深度学习优化算法&#xff0c;包括经典的LBFGS 、Rprop 、Adagrad、RMSprop 、Adadelta 、ASGD 、Adamax、Adam、AdamW、NAdam、RAdam以及SparseAdam等&#xff0c;通过对这些算法的公式和参数说明进行详细解析…...

rust笔记5-derive属性2

在 Rust 中,derive 是一种自动为结构体或枚举实现特定 trait 的机制。通过 #[derive(...)] 属性,Rust 编译器可以自动生成一些常见 trait 的实现代码,从而减少手动编写重复代码的工作量。 以下是对 Copy、Clone、Hash 和 Default 这几个常用 trait 的详细介绍和示例: 1. C…...

DeepSeek、微信、硅基流动、纳米搜索、秘塔搜索……十种不同方法实现DeepSeek使用自由

为了让大家实现 DeepSeek 使用自由&#xff0c;今天分享 10 个畅用 DeepSeek 的平台。 一、官方满血版&#xff1a;DeepSeek官网与APP 首推&#xff0c;肯定是 DeepSeek 的官网和 APP&#xff0c;可以使用满血版 R1 和 V3 模型&#xff0c;以及联网功能。 网址&#xff1a; htt…...

介绍cherrypick

git cherry-pick 是 Git 中的一个强大命令&#xff0c;用于将一个或多个提交&#xff08;commit&#xff09;从一个分支应用到另一个分支。它允许你选择性地将特定的变更引入到当前分支&#xff0c;而无需合并整个分支。以下是对 git cherry-pick 操作的详细介绍&#xff1a; 1…...

HTTP、HTTPS区别可靠性及POST为什么比GET安全的探讨

一、简述HTTP协议 HTTP底层是TCP实现&#xff0c;TCP是一个可靠的传输层网络协议&#xff0c;但是可靠性不是安全性——可靠但不安全 1、为什么TCP可靠&#xff1f;UDP不可靠&#xff1f; 可靠指的是源和目标可以相互访问以及确保数据的传输顺序&#xff0c;我能通过IP端口访…...

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型&#xff0c;具备高吞吐、低延迟、高可用和强一致性的特点&#xff0c;适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …...

如何用KeymouseGo实现鼠标键盘自动化:新手完全指南

如何用KeymouseGo实现鼠标键盘自动化&#xff1a;新手完全指南 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo KeymouseGo是…...

甜蜜点狙击:在亚马逊,如何找到“需求”与“独特性”的黄金交叉点

初次接触定位思想的人常会轻松地说&#xff1a;“这很简单&#xff0c;只要找到一个还没人占据的位置&#xff0c;然后占领它就行了。”说它“简单”是对的&#xff0c;但说它“容易”则大错特错。真正的难点在于&#xff0c;找到一个既无人有效占领、同时又存在真实且足够市场…...

前端基础博客:JavaScript 核心基础知识点总结

作为前端开发的入门基石&#xff0c;JavaScript的运算符规则、页面加载机制、DOM元素获取是笔试、面试高频核心考点&#xff0c;更是搭建前端知识体系的重中之重。本文摒弃冗余表述&#xff0c;以“考点拆解深度解析真题示例易错规避拓展延伸”的应试逻辑&#xff0c;精准突破每…...

TTP229触摸模块避坑指南:51单片机驱动时如何解决误触和抗干扰问题?(实测分享)

TTP229触摸模块实战优化&#xff1a;从硬件设计到软件防抖的完整避坑方案 第一次用TTP229做智能家居控制面板时&#xff0c;半夜两点被自动触发的灯光吓醒——这大概是我接触电容触摸模块最难忘的经历。作为一款高性价比的16键电容触摸芯片&#xff0c;TTP229在智能面板、工业控…...

AD9361的LVDS接口到底能跑多快?实测数据速率与射频带宽的权衡指南

AD9361的LVDS接口极限性能解析&#xff1a;从理论到实践的全面指南 在无线通信系统设计中&#xff0c;AD9361作为一款高度集成的射频收发器&#xff0c;其数字接口性能直接影响整个系统的带宽上限和信号质量。本文将深入剖析AD9361在LVDS模式下的性能边界&#xff0c;通过实测数…...

从‘人工调参’到‘AI自优化’:储能EMS的算法演进与国产化实践(以RK3588平台为例)

从‘人工调参’到‘AI自优化’&#xff1a;储能EMS的算法演进与国产化实践&#xff08;以RK3588平台为例&#xff09; 在新能源革命的浪潮中&#xff0c;储能系统正经历着从"被动响应"到"主动决策"的智能化跃迁。作为储能系统的神经中枢&#xff0c;能量管…...

本地部署OpenAI TTS:开源项目openai-edge-tts实战指南

1. 项目概述&#xff1a;当TTS遇见边缘计算最近在折腾一个智能语音项目&#xff0c;需要把文本实时转换成听起来很自然的语音。市面上成熟的云端TTS服务不少&#xff0c;但一涉及到实时性要求高、数据隐私敏感或者网络不稳定的场景&#xff0c;云端方案就显得有些力不从心了。要…...

AI开发环境革命:基于Docker的AI-OS项目实战与架构解析

1. 项目概述与核心价值最近在GitHub上看到一个挺有意思的项目&#xff0c;叫samirsawarkar/ai-os。光看这个名字&#xff0c;可能很多人会联想到科幻电影里的“人工智能操作系统”&#xff0c;觉得是不是一个能自己思考、管理硬件的庞然大物。但实际点开仓库&#xff0c;你会发…...

Fluent新手必看:别再乱设Operating Pressure了,一个设置不对,结果全错!

Fluent压力设置避坑指南&#xff1a;Operating Pressure的实战精要 在计算流体力学(CFD)领域&#xff0c;Fluent作为行业标杆软件&#xff0c;其参数设置的精确性直接决定了模拟结果的可靠性。而Operating Pressure&#xff08;操作压力&#xff09;这一看似简单的参数&#xf…...

如何快速解决音乐标签乱码问题:Music Tag Web的完整繁简体转换指南

如何快速解决音乐标签乱码问题&#xff1a;Music Tag Web的完整繁简体转换指南 【免费下载链接】music-tag-web 音乐标签编辑器&#xff0c;可编辑本地音乐文件的元数据&#xff08;Editable local music file metadata.&#xff09; 项目地址: https://gitcode.com/gh_mirro…...