前端Vue日常工作中--CSS变量

news/2024/7/10 2:21:30 标签: css, vue

Vue中简单使用:
CSS变量,也称为自定义属性(Custom Properties),是一种允许在CSS中定义和使用的变量。这种特性的引入使得在样式表中更容易维护和调整值,提高了代码的可读性和可维护性。

1. 定义变量:
在CSS中,变量以 -- 开头,其语法为:

:root {
  --main-color: #3498db;
}

:root 表示文档根元素,通常是 <html> 元素。变量名为 --main-color,值为 #3498db。

2. 使用变量:
可以在样式规则中使用 var() 函数来引用变量的值:

body {
  background-color: var(--main-color);
}

body 元素的背景颜色就会应用 --main-color 的值。

3. 作用域:
CSS变量的作用域是块级的。如果在一个元素中定义了变量,它只在该元素及其子元素中有效。这种作用域性质使得变量可以被限制在特定的区域使用。

4. 默认值
变量可以有默认值,如果没有为变量提供值,将使用默认值:

body {
  background-color: var(--main-color, #fff); /* 使用变量,如果变量未定义则使用 #fff 作为默认值 */
}

5. 动态更新:
通过JavaScript,动态更改CSS变量的值,并且这些更改将立即反映在页面上:

document.documentElement.style.setProperty('--main-color', '#ff5733');

6. 优势:
重用性和可维护性: 变量允许你在整个样式表中轻松更改和重用值,提高了代码的可维护性。

动态性: 变量可以通过JavaScript进行动态更新,使得样式更具交互性和动态性。

可读性: 使用有意义的变量名可以提高代码的可读性和可理解性。

7. Vue中简单使用:
基础使用

:root {
  --main-color: #3498db;
}

body {
  background-color: var(--main-color);
}

h1 {
  color: var(--main-color);
}

--main-color 变量用于定义主要颜色,然后在 body 的背景和 h1 的颜色中使用这个变量。

Vue中简单应用

应用CSS变量来管理主要颜色,并通过Vue的数据绑定实现动态样式更新。

<template>
  <div class="app" :style="{ '--main-color': mainColor }">
    <h1>{{ greeting }}</h1>
    <button @click="changeColor">改变颜色</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      mainColor: '#3498db', // 初始主要颜色
      greeting: '你好,Vue中的CSS变量示例!', // 初始化文本
    };
  },
  methods: {
    changeColor() {
      // 在按钮点击时改变主要颜色
      this.mainColor = '#ff5733';
      this.greeting = '颜色已更改!';
    },
  },
};
</script>

<style scoped>
.app {
  background-color: var(--main-color, #fff); /* 使用 CSS 变量,如果变量未定义则使用 #fff 作为默认值 */
  padding: 20px;
  text-align: center;
}

h1 {
  color: var(--main-color);
}

button {
  margin-top: 10px;
  padding: 8px 16px;
  background-color: var(--main-color);
  color: #fff;
  border: none;
  cursor: pointer;
}
</style>

模板部分 (<template>):

在模板中,我们使用了Vue的动态绑定 :style="{ '--main-color': mainColor }",将mainColor数据属性的值传递给CSS变量 --main-color,从而动态改变主要颜色。
脚本部分 (<script>):

在数据属性中,我们定义了mainColor作为主要颜色的变量,同时也定义了greeting作为一个文本变量。
使用了methods中的changeColor方法,该方法在按钮点击时改变mainColor和greeting,以演示动态更新样式和文本。
样式部分 (<style>):

在样式中,我们使用了CSS变量 --main-color 来定义背景颜色、文本颜色和按钮的背景颜色。这样,当Vue组件中的数据变化时,样式会自动更新,实现动态样式变更


http://www.niftyadmin.cn/n/5358534.html

相关文章

three.js CSS3DRenderer、CSS3DObject渲染HTML标签

有空的老铁关注一下我的抖音&#xff1a; 效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red;position: relative;"><…

186205-33-4,Cyanine2 NHS Ester,广泛应用于荧光标记和生物成像领域

您好&#xff0c;欢迎来到新研之家 文章关键词&#xff1a;186205-33-4&#xff0c;Cyanine2 NHS Ester&#xff0c;Cy2 NHS&#xff0c;Cyanine2 NHS Ester&#xff0c;Cy2 NHS 一、基本信息 产品简介&#xff1a;Cyanine2 NHS Ester can be widely used in the fields of …

7.1、一致公钥密码系统

7.1、一致公钥密码系统 一、引言 在本节中&#xff0c;我们将描述一个真实公钥密码系统的玩具模型。这个模型与维数为 2 的格有着意想不到的联系&#xff0c;由于维数太低&#xff0c;因此存在致命漏洞。不过&#xff0c;它也是一个具有启发性的例子&#xff0c;说明了即使基…

创建与删除数据库(四)

创建与删除数据库&#xff08;四&#xff09; 一、创建数据库 1.1 使用DDL语句创建数据库 CREATE DATABASE 数据库名 DEFAULT CHARACTER 示例&#xff1a; 创建一个test 的数据库&#xff0c;并查看该数据库&#xff0c;以及该数据库的编码。 创建数据库&#xff1a; cre…

全志H713 Android 11 :给AOSP源码,新增一个Product

文章目录 一、卷首二、新增device目录2.1 基本信息2.2 操作步骤2.3 编辑h713\_tuna\_p3\_myboard.mk2.4 编辑AndroidProducts.mk 三、新增内核配置3.1 新增config目录3.2 新增defconfig文件 四、差异列表4.1 git add 之前4.2 git add 之后 五、编译5.1 编译kernel5.2 编译Andro…

Flask 之 SQLAlchemy

SQLAlchemy 是 Python 下非常好的 ORM 框架&#xff0c;支持使用 MySQL、PostgreSQL、SQLite 等主流数据库。Flask-SQLAlchemy 基于 SQLAlchemy 对 Flask 进行了适配&#xff0c;使其在 Flask 下的使用变得简单。 1. 建立模型 在建立模型之前&#xff0c;需要对客户需求进行分…

C#用正则表达式判断字符串是否纯数字vs用Char.IsDigit 方法遍历字符数组是否纯数字

目录 一、使用的方法 1.正则表达式 2.Char.IsDigit 方法 二、源码 1.源代码 2.生成效果 一、使用的方法 1.正则表达式 在程序运行过程中&#xff0c;经常需要用户输入数字信息&#xff0c;如输入员工年龄、工资等。使用正则表达式Regex类的IsMatch方法&#xff0c;可以有…

【学习笔记】Vue3源码解析:第一部分-实现vue3环境搭建

课程地址&#xff1a;【已完结】全网最详细Vue3源码解析&#xff01;&#xff08;一行行带你手写Vue3源码&#xff09; 第一部分&#xff1a;实现vue3环境搭建&#xff08;对应课程的第1-3节&#xff09; VUE2与VUE3的对比&#xff1a; 也即vue2的痛点&#xff1a; 对TypeSc…