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

vue中scss使用js的变量

一、前言

在项目开发中,很多时候会涉及到scss样式变量,正常定义方式 $primary-color: rgb(188, 0, 194);;使用时直接使用即可:color: $primary-color。但是,如果,这些变量是在js中定义的怎么办

二、实现
  1. 动态绑定::style=“{‘–str-length’: strLength}”
  2. scss 中使用 v-bind(strLength) => strLength 是js变量
<template><div class="typing-demo-wrapper" :style="{'--str-length': strLength}"><div class="typing-demo">{{ text }}</div></div>
</template><script lang="ts" setup>
const text = ref("你好;欢迎来到自定义布局页面。");
const strLength = text.value.length; // 计算字符串长度;
</script><style lang="scss" scoped>
.typing-demo-wrapper {height: 200px;  // 父元素的元素可按实际情况处理overflow: auto;/* 实现从左到右打字效果 */@keyframes typing {from {width: 0}}/* 实现鼠标闪烁效果 */@keyframes blink {50% {border-color: transparent}} .typing-demo {font-family: monospace; /* 使用等宽字体,保证每个字的宽度一致 */      // width: 30ch; /* 设置宽度为字符串长度 */// 根据字符串长度设置宽度width: calc(var(--str-length) * 2ch); // 使用动态绑定的css变量,计算宽度// width: calc(v-bind(strLength) * 2ch); // 直接使用v-bind绑定js变量/* typing 3s 表示3秒内打完这15个字  blink  .5s表示0.5秒闪烁一下光标*/animation: typing 3s steps(v-bind(strLength)), blink .5s step-end infinite alternate;white-space: nowrap;overflow: hidden;/* 鼠标光标用右边的边框代替 */border-right: 2px solid red;font-size: 2em; }}
</style>

文章仅为本人学习过程的一个记录,仅供参考,如有问题,欢迎指出!

http://www.xdnf.cn/news/4618.html

相关文章:

  • OpenCv实战笔记(3)基于opencv实现调用摄像头并实时显示画面
  • 【WEB3】区块链、隐私计算、AI和Web3.0——隐私计算(2)
  • 【计算机网络】Cookie、Session、Token之间有什么区别?
  • Angular 面试常见问题
  • maven如何搭建自己的私服(windows版)?
  • 住宅 IP 地址:数字时代的真实网络身份载体
  • Git 基础操作系列2: 本地项目上传至git仓库(gitee / gitlab / github)
  • QMK开发环境搭建指南:Eclipse和VS Code详解
  • 书法机构用的教务管理系统
  • 【Linux学习笔记】基础IO之理解文件
  • vue修改了node_modules中的包,打补丁
  • 论坛系统测试报告
  • 基于Transformer的多资产收益预测模型实战(附PyTorch实现与避坑指南)
  • OpenCV定位地板上的书
  • 中介者模式(Mediator Pattern)详解
  • 前端面经--网络通信与后端协作篇--XMLHttpRequest、axios、fetch、AbortController
  • 代理协议解析:如何根据需求选择HTTP、HTTPS或SOCKS5?
  • MySQL概念简介
  • C++ stl中的vector的相关用法 迭代器失效问题
  • Linux中的线程安全与线程同步详解
  • MySQL的深度分页如何优化?
  • NetSuite 销售订单折扣项目相关设置
  • 若依前后端分离项目中可以删除哪些原若依有的?
  • mysql中执行select命令的顺序
  • PE文件结构(导入表)
  • 【AI论文】
  • JavaSE核心知识点01基础语法01-05(字符串)
  • 进程与线程详细介绍
  • 如何使用 QuickAPI 连接 PostgreSQL 数据库并将PostgreSQL数据发布成API?
  • 嵌入式开发学习日志Day15