Vue3页面如何设置rem单位的依据“根font-size”的两种方式

最近在对项目做整体的自适应。我们可以通过设置meta的viewport属性设置屏幕的缩放,但有时候,屏幕缩放了但字体大小也需要做相应的调整才能达到更好的自适应效果。我们很容易想到使用媒体查询+rem来实现字体的自适应。

rem单位:“rem” 是 “root em” 的缩写,表示相对于根元素(html元素)的字体大小。如果根元素的字体大小为16px,1rem就相当于16px。如果根元素字体大小更改,那么所有使用rem单位的元素的大小都会相应地调整。

首先,简单说说使用'rem'单位的目的和必要性。

使用'rem'单位的目的和必要性在于实现页面的相对单位一致性和灵活性:

1. 相对一致性: 'rem'单位相对于根元素的字体大小,因此在整个页面中可以保持一致的相对比例。这意味着,如果需要调整整个页面的字体大小,只需修改根元素的字体大小,而不必逐个调整每个元素的大小。

2. 灵活性:使用'rem'单位允许开发者更灵活地适应不同屏幕尺寸和设备。通过调整根元素的字体大小,整个页面的布局和元素大小可以在不同屏幕上进行自适应,提高页面的响应性和可维护性。

'rem'单位使得开发者能够更方便地管理和调整页面的相对大小,而不必担心层层嵌套的影响,从而简化了样式的管理和维护。

那么在vue项目中有几种书写方式可以实现呢?

方式一:在index.html中设置

我们只需要打开(一般初始位置是在public/index.html)index.html文件,加上一行代码即可。

<style>
    html{
        font-size:16px;
    }
</style>

我们知道,index.html文件在 Vue 项目中充当了整个应用的主入口文件。

它的主要作用有两个:

1. 根 HTML 结构:index.html 包含了应用的根 HTML 结构,其中定义了 `<div id="app"></div>`,作为 Vue 应用挂载的根节点。Vue 组件将被渲染到这个根节点中。

2. 引入 JavaScript 和 CSS:在 index.html 中,你会看到一些 <script> 和 <link> 标签,用于引入应用所需的 JavaScript 和 CSS 文件。通常,在这里引入的 main.js  是 Vue 应用的入口文件,它初始化了 Vue 应用并挂载到根节点上。其他的 <script> 和 <link> 标签可能用于引入其他依赖库、样式文件或资源。

在vue页面中,长度单位使用rem即可实现,长度参照于这里的设定。

方式二:

设置css样式文件,在main.js文件中设置为全局样式。

这样的设置方式更加符合vue的书写思路。

1.首先创建index.css文件,并写入以下代码

//index.css文件

html{
    font-size:16px;
}

2.将其在main.js中导入作为全局样式。

import { createApp } from "vue";
import App from "./App.vue";

... 

import './assets/css/index.css'; // 引入全局样式文

... 

const app = createApp(App);
app.mount("#app");

在vue页面中,长度单位使用rem即可实现,长度参照于这里的设定。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux学习教程(第十一章 Linux高级文件系统管理)二

第十一章 Linux高级文件系统管理&#xff08;二&#xff09; 九、Linux如何判断磁盘配额是否生效&#xff1f; 我们的磁盘配额已经生效&#xff0c;接下来测试一下是否会限制我们的用户。以 lamp1 用户为例&#xff0c; 因为 lamp1 用户除容量被限制外&#xff0c;也限制了文…

MyBatis 四大核心组件之 StatementHandler 源码解析

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

利用n_gram进行情感分析

一、思路 二、关键步骤实现 1、利用tf-idf进行特征提取 详见利用tf-idf对特征进行提取-CSDN博客 2、利用svm进行模型训练 详见​​​​​​​​​​​​​​利用svm进行情感分析-CSDN博客

大数据分析与应用实验任务十二

大数据分析与应用实验任务十二 实验目的&#xff1a; 通过实验掌握spark机器学习库本地向量、本地矩阵的创建方法&#xff1b; 熟悉spark机器学习库特征提取、转换、选择方法&#xff1b; 实验任务&#xff1a; 一、逐行理解并参考编写运行教材8.3.1、8.3.3节各个例程代码…

服务器数据恢复-raid5多块磁盘掉线导致上层卷无法挂载的数据恢复案例

服务器数据恢复环境&#xff1a; 一台服务器中有一组由24块FC硬盘组建的raid5磁盘阵列&#xff0c;linux操作系统ext3文件系统&#xff0c;服务器上层部署有oracle数据库。 服务器故障&检测&#xff1a; raid5阵列中有两块硬盘出现故障掉线&#xff0c;导致服务器上层卷无法…

中通快递查询,中通快递单号查询,并进行多次揽收分析

批量查询中通快递单号的物流信息&#xff0c;并将其中的多次揽收件分析筛选出来。 所需工具&#xff1a; 一个【快递批量查询高手】软件 中通快递单号若干 操作步骤&#xff1a; 步骤1&#xff1a;运行【快递批量查询高手】软件&#xff0c;第一次使用的伙伴记得先注册&…

RocketMQ容器化最佳实践

前言 在上一篇文章基于RocketMQ实现分布式事务我们完成基于消息队列实现分布式事务&#xff0c;为了方便后续的开发和环境统一&#xff0c;我们决定将RocketMQ容器化部署到服务器上。所以这篇文章就来演示一下笔者基于docker-compose完成RocketMQ容器化的过程。 本篇文章为了…

移远通信5G智能模组SG520B系列正式上线,为智能终端轻松提供强大多媒体功能

12月13日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出新一代 5G Sub-6GHz智能模组SG520B系列。 SG520B系列支持5G、Wi-Fi 6E和蓝牙等多种连接技术&#xff0c;且多媒体功能强大&#xff0c;推入市场后将可直接满足智能网关、智慧工业、智慧…

使用CFimagehost源码自建无需数据库支持的PHP图片托管服务

文章目录 1.前言2. CFImagehost网站搭建2.1 CFImagehost下载和安装2.2 CFImagehost网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar临时数据隧道3.2 Cpolar稳定隧道&#xff08;云端设置&#xff09;3.3.Cpolar稳定隧道&#xff08;本地设置&#xff09; 4.公网访问测…

大数据笔记(待续)

mysql 缓存技术 数据库和缓存双写数据一致性问题常见的解决方案 常见方案通常情况下&#xff0c;我们使用缓存的主要目的是为了提升查询的性能。大多数情况下&#xff0c;我们是这样使用缓存的&#xff1a; 用户请求过来之后&#xff0c;先查缓存有没有数据&#xff0c;如果有…

做数据分析为何要学统计学(2)——如何估计总体概率分布

我们可以通过手头掌握的样本来估计总体的概率分布。这个过程由以下步骤组成。 第一步&#xff0c;我们采用Seaborn软件的histplot函数建立核密度图&#xff08;一种概率密度图&#xff09;。 import numpy as np #输入样本数据 xnp.array([2.12906357, 0.72736725, 1.0515282…

如何删除/替换3D模型的材质贴图

在线工具推荐&#xff1a; 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 - 3D模型语义搜索引擎 在3D设计和动画领域&#xff0c;材质是呈现真实感和逼真效果的关键因…

电脑监控软件丨你能接受在电脑上安装吗

很多人说自己是不能接受老板在电脑上安装电脑监控软件的&#xff0c;怎么说呢&#xff0c;我自己本身是没有任何意见的。 我是可以接受的。 先来说说我的理由&#xff1a; 我是站在企业管理者的角度上&#xff0c;来思考这个问题的。老板花钱雇佣员工不是来公司来上网聊天打游…

【笔试强化】Day 1

文章目录 一、单选1.2.3.4.5.6. &#xff08;写错&#xff09;7. &#xff08;不会&#xff09;8. &#xff08;常错题&#xff09;9.10. &#xff08;写错&#xff09; 二、编程1. 组队竞赛题目&#xff1a;题解&#xff1a;代码&#xff1a; 2. 删除公共字符题目&#xff1a;…

自定义Axure元件库及原型图泳道图的绘制(详细不同类的案例)

目录 前言 一.自定义元件库 1.1 自定义元件库的作用 1.2 自定义元件的操作 二.流程图 2.1 流程图的作用 2.2 绘制流程图 2.3 简易流程图案例 三.泳道图 3.1 泳道图的作用 3.2 流程图和泳道图的区别 3.3 绘制泳道图 四.绘制前的准备 五.案例 4.1 门诊模块案例 4.2 …

mysql踩坑

关于安装 1报错&#xff1a;ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client具体代码如下&#xff1a; import mysql from "mysql"//连接数据库 const dbmysql.createPool({h…

前端体系:前端应用

目录 前端体系基础 html&#xff08;超文本标记语言&#xff09; css&#xff08;层叠样式单&#xff09; javascript&#xff08;&#xff09; 一、前端体系概述 二、前端框架 React Vue Angular 三、前端库和工具 lodash Redux Webpack 四、模块化和组件化 ES…

ZLMediaKit中的线程

EventLoop的线程模型 服务器通用的IO模型event-loop 非阻塞IO。线程模型可以是单线程&#xff0c;可以是多线程。对于已经普及了的多核环境&#xff0c;通常都是采用多线程。 通常一个线程中有一个EventLoop&#xff0c;比如accept是一个专门线程&#xff0c;accept后的fd分…

AJAX原理解析与案例实践,助你成为前端技术高手

大家有关于JavaScript知识点不知道可以去 &#x1f389;博客主页&#xff1a;阿猫的故乡 &#x1f389;系列专栏&#xff1a;JavaScript专题栏 &#x1f389;ajax专栏&#xff1a;ajax知识点 &#x1f389;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 学习…

微信开发者工具安装教程

文章目录 下载安装包执行安装包 #微信开发者工具安装教程 下载安装包 官网网址 执行安装包 D:\Program Files (x86)\Tencent\微信web开发者工具\dll