首页 > 其他分享 >在vue中使用CSS变量

在vue中使用CSS变量

时间:2023-01-11 10:34:25浏览次数:56  
标签:vue 变量 default text -- CSS String

首先,我们要先知道什么是CSS变量,可以先看这篇文章
在我们知道什么是CSS变量之后,我们尝试把它在项目中运用起来,一些需要动态计算的值,我们就可以使用它快速的实现效果。

以下为示例一,其中keyframes是不能直接在html中书写的,那么如何不使用js就能根据传入的值达到对应的效果呢?如下:

<template>
  <div
    :style="{ '--deviation': '-' + deviation }"
    class="text"
  >
    {{ text }}
  </div>
</template>

<script>
export default {
    name: 'QTest',
    props: {
        text: {
            type: String,
            default: '请传入内容'
        },
        // 动态传入不同的值,根据不同的值得出最终的样式
        deviation: {
            type: String,
            default: '75%'
        }
    },
}
</script>

<style lang="scss" scoped>
.text {
    width: 100px;
    overflow: hidden;
    transition-delay: 5s;
    animation: itemSlide 5s linear infinite;
}

@keyframes itemSlide {
    0% {
        transform: translateX(0%);
    }

    100% {
        /*使用变量*/
        transform: translateX(var(--deviation));
    }
}
</style>

以下为示例二,有的时候,一些属性我们可能需要根据一些条件计算得来,那么也能很好的去使用它。如下:

<template>
  <div
    :style="{ '--lineheight': lineheight }"
    class="text"
  >
    <div class="container"></div>
  </div>
</template>

<script>
export default {
    name: 'QTest',
    props: {
        lineheight: {
            type: String,
            default: '200px'
        }
    },
}
</script>

<style lang="scss" scoped>
.text {
    width: 100px;
    height: 400px;
    overflow: hidden;

    .container {
        height: calc(100% - var(--lineheight));
        background-color: red;
    }
}
</style>

就得到一个高度为200px的盒子:

 

 补充:
获取元素样式:getComputedStyle([el]

const styles = getComputedStyle(document.documentElement)
const value = String(styles.getPropertyValue('--lineheight')).trim()

 

原文

标签:vue,变量,default,text,--,CSS,String
From: https://www.cnblogs.com/caihongmin/p/17043039.html

相关文章

  • Python变量
    1.变量介绍变量分为变量名、变量值、内存地址id()获取变量的内存地址作用:判断两个数据是否是同一个数据变量的作用:存储数据更方便的管理和使用例:print(id(name))#......
  • Vue中组件和插件的区别
    一、组件是什么1:组件的定义:组件就是把图形、非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在Vue中每一个.vue文件都可以视为一个组件2:组件的优势......
  • JS_0072:静态html引入 js, css 添加随机数后缀
    1,<!DOCTYPEhtml><htmllang="en"><head><metacharset="utf-8"><title>展示模型</title><metaname="viewport"content="width=device-width,initia......
  • Vue中实现图片上传,修改文件名称
    前提:直接flie.name的话是不可行的,并且还会报错,所以得用以下方式。详解:拦截文件上传文件对象(file)是不能直接修改文件名的,file.name是只读属性,如果你强行赋值,会直接报错,所......
  • CSS_2_盒子模型、定位
    使用css可以进行布局设计。  div标签:定义HTML文档中的一个分隔区块或者一个区域部分。常用于组合块级元素,以便通过CSS来对这些元素进行格式化。 ......
  • 2023.1.10交换两个变量值的函数
    ......
  • CSS3 背景设置
    背景图原点background-origin:padding-box;(默认)border-box|padding-box|content-boxbackground-origin是用来决定图片的原始起始位置。它有三个可选值co......
  • Vue3 异步数据渲染模板,ref 获取不到真实节点
    获取异步数据,并把数据渲染到模板中,比如todolist等。ref只有在模板渲染之后才可以获取,而异步获取数据期间,模板可能没有被渲染。因此,直接在setup执行期间获取ref、甚至......
  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于PLS的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立......
  • vue2,新闻渲染效果
    做一个新闻渲染的效果,最后呈现的效果   数据放入父组件中,公共样式放入子组件中父组件中引入子组件,放入数组,然后进行样式渲染<template><divclass="zong"><n......