vue项目实现大屏PC端字体自适应

我们字体自适应选择使用rem作为单位,通过监听窗口大小的变化,更新1rem的对应的px数来实现字体自适应。

注意该方法,我们需要在APP.vue文件中实现,

  1. 首先APP.vue文件中,定义屏幕宽度的变量screenWidth
data() {return {screenWidth:window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth,};},
  1. 监听窗口变化,将值赋给screenWidth看,注意监听方法写在mounted(){}钩子中,防止无法获取窗口值。
mounted() {const that = this;window.onresize = () => {return (() => {(window.screenWidth =window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth),(that.screenWidth = window.screenWidth);this.fun();})();};},
  1. 为了避免频繁触发resize函数导致页面卡顿,使用定时器和watch:{}监听screenWidth值的改变,一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidth
 watch: {screenWidth(val) {// 为了避免频繁触发resize函数导致页面卡顿,使用定时器if (!this.timer) {// 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidththis.screenWidth = val;this.timer = true;let that = this;setTimeout(function () {that.timer = false;}, 400);}},},
  1. 最后定义fun函数,设置html标签的字体大小自适应 为了使得rem单位自适应
 methods: {fun() {const that = this;var htmlobj = document.getElementsByTagName("html")[0];htmlobj.style.fontSize = (that.screenWidth / 1920) * 20 + "px";}}

**

echarts图标字体无法生效,可以查看下一篇文章,解决问题。

**
完整代码如下:

<script >
export default {name: "App",data() {return {screenWidth:window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth,};},created() {this.lastTime = new Date().getTime();this.fun();},mounted() {const that = this;window.onresize = () => {return (() => {(window.screenWidth =window.innerWidth ||document.documentElement.clientWidth ||document.body.clientWidth),(that.screenWidth = window.screenWidth);this.fun();})();};},watch: {screenWidth(val) {// 为了避免频繁触发resize函数导致页面卡顿,使用定时器if (!this.timer) {// 一旦监听到的screenWidth值改变,就将其重新赋给data里的screenWidththis.screenWidth = val;this.timer = true;let that = this;setTimeout(function () {that.timer = false;}, 400);}},},methods: {// 设置html标签的字体大小自适应   为了使得rem单位自适应fun() {const that = this;var htmlobj = document.getElementsByTagName("html")[0];htmlobj.style.fontSize = (that.screenWidth / 1920) * 20 + "px";}},
};
</script>

**

echarts图标字体无法生效,可以查看下一篇文章,解决问题。

**

vue项目实现大屏PC端字体自适应相关推荐

  1. VUE 项目实现大屏展示的响应式

    vue项目实现大屏展示 自适应问题 此处的项目为vue2版本,因为pc端的项目没有采用响应式自适应手机端的设计,所以使用lodash插件实现屏幕移动端自适应. 首先下载lodash插件. npm i ...

  2. vue项目实现大屏展示 自适应问题

    vue项目实现大屏展示 自适应问题 此处的项目为vue2版本,因为该项目立项阶段未要求兼容大屏设备和移动端设备,原设计稿尺寸1920X1080像素,如何实现响应式布局. 一.安装 postcss-px ...

  3. Vue项目实战 —— 后台管理系统( pc端 ) 第三篇

    ​前期回顾    ​  Vue项目实战 -- 后台管理系统( pc端 ) 第二篇_0.活在风浪里的博客-CSDN博客前期回顾 Vue项目实战 -- 后台管理系统( pc端 ) 第一篇 _0.活在风浪里 ...

  4. Vue项目实战 —— 后台管理系统( pc端 ) 第一篇

    前期回顾     我只写注释 -- 让Ai写代码_0.活在风浪里的博客-CSDN博客前期回顾 Vue项目实战 -- 哔哩哔哩移动端开发-- 第二篇_0.活在风浪里的博客-CSDN博客https://b ...

  5. vue项目:大屏自适应解决方案(两种)

    css缩放方案: 利用transform:scale 进行适配 推荐使用v-scale-screen 值得注意的是: vue 2.6.2.7 要使用 npm install v-scale-scree ...

  6. Vue项目实战 —— 后台管理系统( pc端 )

    前期回顾 我只写注释 -- 让Ai写代码_的博客-CSDN博客前期回顾 Vue项目实战 -- 哔哩哔哩移动端开发-- 第二篇_的博客-CSDN博客https://blog.csdn.net/m0_57 ...

  7. vue项目rem 大屏可视化适配

    在工具文件夹中 创建一个新的JS文件 JS文件中创建一个方法 // 如果页面发生改变更改rem得值 function setRem() {// 默认使用100px作为基准大小const baseSiz ...

  8. 移动端知网下文献并投屏PC端阅读

    移动端知网下文献并投屏PC端阅读 安装手机版知网 准备投屏流程 结语 **五月九号增加** 受新型冠状病毒影响,寒假期间不仅不能提前返校,还通知要推迟开学. 没办法,只能在家"上班工作&qu ...

  9. vue项目引入阿里巴巴矢量图标库 ——字体图标

    1. 打开阿里巴巴矢量图标库官网 iconfont-阿里巴巴矢量图标库 2. 下载图标步骤 (1) (2)  (3) (4) (5) (6)main.js 配置 引入assets中的图标路径 (7)页 ...

最新文章

  1. 聚类分析基础知识总结及实战解析
  2. k8s集群RBAC安全机制:role rolebing user
  3. vue项目中主要文件的加载顺序(index.html、App.vue、main.js)
  4. oracle一页显示15行,oracle rownum分页与显示记录小测
  5. mysql与tomcat_mysql数据库与tomcat服务器的一些细节问题
  6. 【系统架构设计师】软考高级职称,一次通过,倾尽所有,2013年下半年系统架构设计师考试论文真题(论软件可靠性设计技术的应用)
  7. 再论句子中单词的逆序输出
  8. azure云数据库_如何将MySQL表迁移到Microsoft Azure SQL数据库
  9. django 数据库交互2
  10. 链表一:从尾到头打印链表
  11. 机器学习基础---回归方法---支持向量回归(SVR)
  12. 绿皮书答案:A Practical Guide to Quantitative Finance Interviews
  13. HTML标签----图文详解
  14. CSS基础10-单行/多行文本溢出省略
  15. 基本DOS命令---3.修改文件夹和文件属性
  16. 25款专业的 WordPress 电子商务网站主题
  17. gif图片的体积怎么缩小?如何压缩动图大小?
  18. 【Redis-6.0.8】CRC16
  19. 学红外雨量IFR202型传感器应用于智慧灌溉自动门窗地质灾害
  20. 计算机网络:数据报与虚电路

热门文章

  1. 前端与后端的交互--(PHP)
  2. 激光甲烷传感器功能简述
  3. 2017年4月高等教育国际金融全国统一命题考试
  4. 基于camunda实现的天元BPM介绍
  5. 步进电机的控制 (驱动板为TB6560)
  6. 思科交换机配置试题_《CISCO路由器配置》复习题
  7. 一款新颖简捷的“中英文朗读软件”
  8. 任正非要华为08年上市?华为不能够上市吗?解密华为IPO迷局
  9. php网站聊天插件,phpwind论坛万能整合聊天室插件
  10. 最好的护眼灯是什么牌子?分享知名度高的国内护眼灯品牌