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

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.dtcms.com/a/178526.html

相关文章:

  • uniapp上架苹果APP Store踩雷和部分流程注意事项(非完整流程)
  • uniapp|实现多终端聊天对话组件、表情选择、消息发送
  • CSS3 过渡与动画
  • XML简单介绍
  • 2.2 点云数据存储格式——通用型点云存储格式
  • DUNE 开源项目介绍与使用指南
  • 2025年Java基础知识总结难点亮点(超详细整理)
  • 希音Shein测评补单:跨境电商运营的新利器与实操指南
  • 微信小程序使用腾讯云COS SDK实现用户头像上传
  • 学习设计模式《八》——原型模式
  • 手撕基于AMQP协议的简易消息队列-3(项目所用到的工具类的编写)
  • 从零打造个人博客静态页面与TodoList应用:前端开发实战指南
  • 什么是变量提升?
  • C++-缺省参数
  • 菊厂笔试1
  • 电子电器架构 --- 电气/电子架构如何发展以满足其处理和传感器融合需求
  • CAN总线通讯接口卡:工业通信的核心桥梁
  • 在UI原型设计中,低、高保真原型图有什么区别?
  • 验证码(笔记)
  • web 自动化之 Selenium 元素定位和浏览器操作
  • 数据结构 - 10( B- 树 B+ 树 B* 树 4000 字详解 )
  • Node.js 技术原理分析系列9——Node.js addon一文通
  • AI开发跃迁指南(第三章:第四维度1——Milvus、weaviate、redis等向量数据库介绍及对比选型)
  • 腾讯云:数字世界的“量子熔炉”与硅基文明引擎​
  • LeetCode 热题 100 238. 除自身以外数组的乘积
  • 16011.自动分簇KMeans算法
  • element MessageBox 实现底部三个按钮或者更多按钮—开箱即用
  • 【MySQL】第二弹——MySQL表的增删改查(CURD))
  • 【MySQL】存储引擎 - MEMORY详解
  • 使用 CDN 在国内加载本地 PDF 文件并处理批注:PDF.js 5.x 实战指南