Vue如何在CSS中使用data定义的数据浅析

 更新时间:2022年05月09日 11:40:26   作者:庇耳拉海莱  
这篇文章主要给大家介绍了关于Vue如何在CSS中使用data定义的数据的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友可以参考下

1、考虑一个问题, 后端传来一个数据, 比如是某个百分比, 需要在页面做进度展示. 一般的情况都会在 CSS 中设置数据展示, 但是 CSS 中如何获取到后端传来的数据呢?

2、使用自定义属性: data-

通过 v-bind 将后端的数据绑定在自定义 HTML 属性上, 然后通过 CSS 的 attr() 函数获取该属性

<template>
  <div>
    <div class="box" 
    :data-content="obj.desc" 
    :data-percent="obj.percent"></div>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        obj: {
          percent: '30%',
          desc: '哈哈哈哈哈哈'
        }
      }
    },
  }
</script>

<style>
.box {
  width: 400px;
  height: 200px;
  border: 1px solid salmon;
  position: relative;
}
.box::before, .box::after {
  position: absolute;
  top: 0; bottom: 0;
}
.box::before {
  content: attr(data-content);
  left: 0;
  right: calc(100% - attr(data-percent));
  background-color: deepskyblue;
}
.box::after {
  content: attr(data-content);
  right: 0;
  left: attr(data-percent);
  background-color: deeppink;
}
</style>

最后页面展示

😱计算 right 部分失效了, 原因是 attr() 函数不能在 calc() 中使用! 怎么办呢?

3、自定义 CSS 变量

通过在 HTML 的 style 属性以 v-bind 的形式绑定定义的 CSS 变量, 继而在 CSS 中使用该变量达到效果

<template>
  <div>
    <div class="box" 
    :style="{'--percent': obj.percent}"
    :data-content="obj.desc" 
    :data-percent="obj.percent"></div>
  </div>
</template>
<style>
  .box {
    width: 400px;
    height: 200px;
    border: 1px solid salmon;
    position: relative;
  }
  .box::before, .box::after {
    position: absolute;
    top: 0; bottom: 0;
  }
  .box::before {
    content: attr(data-content);
    left: 0;
    /* right: calc(100% - attr(data-percent)); */
    right: calc(100% - var(--percent));
    background-color: deepskyblue;
  }
  .box::after {
    content: attr(data-content);
    right: 0;
    /* left: attr(data-percent); */
    left: var(--percent);
    background-color: deeppink;
  }
  </style>

上面的代码省略了 <script> 标签部分, 因为这部分没有改动

总结

到此这篇关于Vue如何在CSS中使用data定义的数据的文章就介绍到这了,更多相关Vue在CSS使用data的数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue-Element-Admin集成自己的接口实现登录跳转

    Vue-Element-Admin集成自己的接口实现登录跳转

    关于这个Vue-element-admin中的流程可能对于新的同学不是很友好,所以本文将结合实例代码,介绍Vue-Element-Admin集成自己的接口实现登录跳转,感兴趣的小伙伴们可以参考一下
    2021-06-06
  • vue实现物流时间轴效果

    vue实现物流时间轴效果

    这篇文章主要为大家详细介绍了vue实现物流时间轴效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • vue2实现可复用的轮播图carousel组件详解

    vue2实现可复用的轮播图carousel组件详解

    这篇文章主要为大家详细介绍了vue2实现可复用的轮播图carousel组件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • vue和iview结合动态生成表单实例

    vue和iview结合动态生成表单实例

    这篇文章主要介绍了vue和iview结合动态生成表单实例,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Vue处理循环数据流程示例精讲

    Vue处理循环数据流程示例精讲

    这篇文章主要介绍了Vue处理循环数据流程,这个又是一个编程语言, 模版语法里面必不可少的一个, 也是使用业务场景使用最多的一个环节。所以学会使用循环也是重中之重了
    2023-04-04
  • vue-cli4创建项目导入Element-UI踩过的坑及解决

    vue-cli4创建项目导入Element-UI踩过的坑及解决

    这篇文章主要介绍了vue-cli4创建项目导入Element-UI踩过的坑及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • vue3:setup的两个注意点详解

    vue3:setup的两个注意点详解

    这篇文章主要介绍了vue3.0中setup的两个注意点,本文通过两种用法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-10-10
  • vue+vant实现商品列表批量倒计时功能

    vue+vant实现商品列表批量倒计时功能

    这篇文章主要介绍了vue+vant实现商品列表批量倒计时功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • el-date-picker默认结束为当前时分秒的操作方法

    el-date-picker默认结束为当前时分秒的操作方法

    在element ui中的日期时间选择组件中默认是00:00,现在需求是点击默认结束时间为当前时分秒,查了很多资料写的都不准确 ,今天给大家分享el-date-picker默认结束为当前时分秒的操作方法,感兴趣的朋友一起看看吧
    2024-01-01
  • vue3+ts实现一个表单组件的详细代码

    vue3+ts实现一个表单组件的详细代码

    这篇文章主要介绍了vue3+ts实现一个表单组件的详细代码,确保通过axios调用后端接口来获取省市区和街道数据,并在选择省市区时加载相应的街道数据,需要的朋友可以参考下
    2024-07-07

最新评论