接到领导指示,用户嫌我做的页面字体太小,15px的字体叫小?领导说用户多是上了年纪的人。没办法,改吧,谁让咱是个搬砖的呢。。咳咳

我寻思着这次改大了,下次用户嫌大再让改小呢?干脆给他做个选择字号的功能,让他自己选。我真是个机智的人啊,哈哈哈!

可是,问题来了,怎么才能动态改变页面字体大小呢?我陷入了沉(搜)思(索)。

首先,建两个sass文件。如图:

variable.scss文件代码如下:

// 存放变量
$font_size_14:14px;
$font_size_15:15px;
$font_size_16:16px;

mixin.scss文件代码如下:

@charset "utf-8";
@import "./variable"; // 引入变量
@mixin add-size($size){
font-size: $size;
[data-size="0"] & {
font-size:$font_size_14;
}
[data-size="1"] & {
font-size:$font_size_15;
}
[data-size="2"] & {
font-size:$font_size_16;
}
}

最后,就是在组件里面使用了。

先给用户提供几个选项可以选择。如图

<el-submenu index="1-1">
<template slot="title">字号:{{fontSize}}</template>
<el-menu-item index="" @click="changeFontSize('2')">大</el-menu-item>
<el-menu-item index="" @click="changeFontSize('1')">中</el-menu-item>
<el-menu-item index="" @click="changeFontSize('0')">小</el-menu-item>
</el-submenu>

当点击时候触发事件:

changeFontSize (size) {
if (size === '0') {
this.fontSize = '小'
} else if (size === '1') {
this.fontSize = '中'
} else {
this.fontSize = '大'
}
window.document.documentElement.setAttribute('data-size', size)
}

组件style里面引入sass文件,一定要引入,我没引就报错了。代码:

@import "../../../static/css/mixin";
.el-table {
@include add-size($font_size_15);
}
.el-submenu__title {
@include add-size($font_size_15);
}
.el-input {
@include add-size($font_size_15);
}

基本就这些了。如果有不对的地方或者可以改进的地方,欢迎指正!

vue+sass实现切换字体大小的更多相关文章

  1. Android之hint提示字体大小修改,显示完全

    Android之hint提示字体大小修改,显示完全 1.工作中遇到一个问题,就是自定义EditText的hint提示在超大字体下会显示不全, 2.然后在网上搜索了一下,在这里记录一下,分享给大家,在此 ...

  2. vue中利用scss实现整体换肤和字体大小设置

    一.前言 利用Sass预处理实现换肤和字体大小调整. 思路及达到的效果:字体大小的适配使用window.devicePixelRatio的值和需要调整的差量进行控制.页面初始化是的字体适配可以根据de ...

  3. 切换myEclipse工作空间后设置,myEclipse添加注释/设置豆沙背景颜色/调节字体大小

    一.添加注释 操作位置: 注释规范 Files/** * @文件名称: ${file_name} * @文件路径: ${package_name} * @功能描述: ${todo} * @作者: ${ ...

  4. 如何消除手机设置的字体大小对Cordova app(Android)界面font-size的影响

    ===================== 更新分割线 =================== 现在发现其实不需要用安卓编辑器打开,也能找到这个文件,路径是platforms\android\Cord ...

  5. HTML5移动Web开发(八)——避免文本字体大小重置

    适用设备:iOS.Windows Mobile在一些移动设备上,比方说iPhone,Windows Mobile,当用户把手机切换到横屏时,浏览器会自动地重置文本字体大小.这可能会对我们造成困扰,因为 ...

  6. [转]响应式网页设计:rem、em设置网页字体大小自适应

    本文转自:http://www.cnblogs.com/aimyfly/archive/2013/07/19/3200742.html 「rem」是指根元素(root element,html)的字体 ...

  7. eclipse-ee修改字体大小和配置Tomcat服务器

    参考博客:http://blog.csdn.net/lpftobetheone/article/details/17783791 一.EclipseEE背景色和字体的修改 1.Eclipse背景颜色修 ...

  8. Python+PyCharm的一些基本设置:安装使用、注册码、显示行号、字体大小和快捷键等常用设置

    一 下载与安装 软件下载,软件文档下载:http://www.jetbrains.com/pycharm/download/ 如下图: 官方网站下载:http://www.oschina.net/p/ ...

  9. 响应式网页:用em,rem设置网页字体大小自适应

    「rem」是指根元素(root element,html)的字体大小,好开心的是,从遥远的 IE6 到版本帝 Chrome 他们都约好了,根元素默认的 font-size 都是 16px.这样一个新的 ...

随机推荐

  1. asd短片数篇

    黄乙己 黄乙己是站着AK而正常的唯一的人.他身材挺高大:蜡黄脸色,眼角间时常夹着些饼干屑:一副黑色的眼镜.虽然挺正常,可是他有良好的饮食习惯,似乎十多个月都是吃的牛奶泡饭,也没有洗饭盒.他对人说话,总 ...

  2. IT名词概括与简单了解

    云计算概念 云架构 我看过两本云计算,<云计算><云计算架构技术与实践> 云计算是一个很广的概念,简单的说将互联网中的计算机资源按需分配,提高闲置资源的利用率,需要多少你就购买 ...

  3. day1||python

    测试题: 0. Python 是什么类型的语言? Python是一种面向对象.解释型.动态类型计算机程序设计语言解释型:程序无需编译成二进制代码,而是在执行时对语句一条一条编译动态类型:在程序执行过程 ...

  4. windows知识点2

    最近在使用win10系统的过程中,无法获取dns报错,上不了网.经过一番折腾,最终在用下面的方法,解决了问题.第二步很关键.完成步一下步骤重启电脑应该就可以上网了.12第一步:使用 ipconfig ...

  5. myql 格式化日期

    date_format(a.balance_date,'%Y-%m')= date_format(#{balanceDate},'%Y-%m')

  6. chrome浏览器onunload方法无法执行window.location.href

    记录用户不正常退出,如关闭浏览器的时候,执行onunload方法,跳回后台记录用户已经退出的信息,在ie上可以正常跳转,但在Firefox和chrome上却无法跳转. 测试后发现以下方法可以实现,支持 ...

  7. Zabbix 3.4 服务端安装部署

    关于zabbix的安装部署官方也提供了详细的安装文档,链接如下: https://www.zabbix.com/download 选择zabbix的版本,服务器平台及使用的数据库 安装和配置zabbi ...

  8. WinEdt和LaTeX的简介

    LaTex 是一款Tex软件, 是一款专业的 pdf 排版软件,功能强大,上手简单,是老板折磨新同学的一件非常好用的利器,能让你仅用两个晚上就达到肾虚的效果. LaTex的软件由MikTex以及编译器 ...

  9. JS中冒号的作用

    JS中冒号的作用1.声明对象的成员2.switch语句分支3.三元表达式 1.声明对象的成员 var Book = { Name: '法', Price: 100, Discount : functi ...

  10. RTP实时传输协议

    RTP协议是包括一对协议:RTP和RTCP. RTP传输数据,RTCP传输控制信息. 一般基于UDP,RTP使用偶数端口,RTCP使用下一个奇数端口. 层次关系: APP -> RTP -> ...