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

【Vue】关于CSS样式绑定整理

因突发奇想设计一款组件,需要根据属性动态绑定样式,故而整理一些Vue的动态绑定样式方法(传参绑定类似,不做过多叙述),仅供参考.
  1. 方式一: 直接在元素上绑定具体样式
  2. 方式二: 定义属性对象,绑定到style,可以在style中使用定义的变量
  3. 方式二: 通过引入自定义组件引入style数据,直接绑定样式
  4. 方式四: css原生定义:root全局变量
  5. 方式五: css原生局部变量,仅可以在选择器内部定义
    1. 生页面局部变量element不行哟
    2. 个人感觉除非是多个样式或嵌套子元素需要使用局部变量

以下内容是简单demo,需要做样式动态绑定:

<template><div class="header">Header</div>
</template>
<script>
export default {name: "Header",data() {return {className:"header"color: "red",changeColor:"#ff0000",testStyle:{"--color":'yellow'}};},
};
</script>

方式一 style属性绑定

  <div class="header" :style="'color:'+ color"></div>

方式二 style对象绑定

<div class="header" :style="testStyle"></div><style>
.header{color:var(--color)
}
</style>

方式三 自定义style元素组件

<template><div class="header">Header<!-- // 增加自定义组件,指定元素内容为style --><component is="style">.{{className}}{color: {{ color }};}</component></div>
</template>
<script> 
export default {name: "Header",data() {return {className:"header",color: "red",};},
};
</script>
或者可以通过Vue.component方式自定义组件,如:
<template><div class="header">Header<v-style>.{{className}}{color: {{ color }};}</v-style></div>
</template>
<script> 
// 等同上面的 <component is="style"></component>
import Vue from 'vue';
// 增加自定义组件,指定元素内容为style
Vue.component('v-style', {render: function (createElement) {return createElement('style', this.$slots.default)}
});
</script>

方式四 原生全局变量

<style>
:root{--header-color:red;
}
.header{color:var(--header-color)
}
</style>

方式五 原生局部变量

<style>
/* 注意:当前页面的element局部变量无效 */
/* element{ --header-color:red; 
} */
.header{--size:5px; /* 个人感觉意义不大 */width:var(--size * 5);font-size:var(--size);
}
</style>
http://www.lryc.cn/news/166824.html

相关文章:

  • Sql语句大全--更新
  • Java面试八股文宝典:序言
  • 【多线程案例】单例模式
  • 阿里云部署SpringBoot项目启动后被杀进程的问题
  • git仓库推送错误
  • 计网第五章(运输层)(三)
  • OpenCV 07(图像滤波器)
  • uniapp项目实践总结(十三)封装文件操作方法
  • 程序地址空间
  • HBS 家庭总线驱动和接收芯片MS1192,应用于电话及相关设备、空调设备、安全设备、AV 装置
  • IO和进程day08(消息队列、共享内存、信号灯集)
  • 【数据结构】—堆排序以及TOP-K问题究极详解(含C语言实现)
  • Python语言概述
  • 电子电路学习笔记之NCV84120DR2G——车规级单通道高压侧驱动器
  • YOLO DNF辅助教程完结
  • Hadoop-Hive
  • 竞赛 基于机器视觉的火车票识别系统
  • conda与pip镜像源环境配置
  • Golang1.21更新内容全面介绍~
  • ArcGIS 10.4安装教程!
  • 华为云云服务器云耀L实例评测 | 从零开始:华为云云服务器L实例使用教程
  • ElasticSearch配置
  • MySQL优化第二篇
  • 基于python解决鸡兔同笼问题
  • 2023 Google 开发者大会|Mobile开发专题追踪
  • 最新版WPS 2023 加载Zotero方法
  • 详解爬虫策略,反爬虫策略,反反爬爬虫策略
  • ES6中的Promise对象
  • vue 知识点———— 生命周期
  • 焊接符号学习