在vue中动态修改css其中一个属性值操作

时间:2021-05-25

我就废话不多说了,大家还是直接看代码吧~

<template><!--此div的高度取屏幕可视区域的高度--> <div class="hello" :style="{'height':getClientHeight}"> <h5>{{ msg }}</h5> </div></template><script>export default { data() { return { msg: "Welcome to Your Vue.js App", }; }, computed: { getClientHeight:function () { //屏幕可视区域的高度 let clientHeight = document.documentElement.clientHeight + "px" console.log("clientHeight 1=="+clientHeight) //窗口可视区域发生变化的时候执行 window.onresize = () => { clientHeight = document.documentElement.clientHeight + "px" console.log("clientHeight changed2=="+clientHeight) return clientHeight } console.log("clientHeight 3=="+clientHeight) return clientHeight } }};</script><!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>.hello{ width: 100%; background-color: #42b983;}</style>

补充知识:vue中动态style(如何动态修改伪元素样式)

vue中如何动态修改伪元素样式

vue项目中我们可以通过行内样式进行动态修改样式,大家都会就举栗子了

如何动态修改伪元素样式?

1.css中如何用变量

声明css变量的时候,变量名前面要加两根连词线(–)。

变量名大小写敏感,–header-color和–Header-Color是两个不同变量。

var()函数用于读取变量。

var()函数还可以使用第二个参数,表示变量的默认值。如果该变量不存在,就会使用这个默认值。

第二个参数不处理内部的逗号或空格,都视作参数的一部分。

<style>body { --highlight-color: green;}.container { --highlight-color: red;}a { color: var( --highlight-color );}</style><body> <div class="container"> <a href="">Link</a> </div></body>

2.根据css中使用变量的方法,我们可以结合vue中动态行内样式进行伪元素动态属性设置

<template> <div class="test"> <span :style="spanStyle" class="span1">hello world</span> <br> <span :style="{'--width': widthVar}" class="span2">hello earth</span> </div></template><script>export default { data() { return { spanStyle: { "--color": "red" }, widthVar: "100px" }; }}</script><style scoped> .span1 { color: var(--color); } .span2 { text-align: center; position: relative; width: var(--width); } .span2::after { content: ''; display: block; position: absolute; left: 100%; width: var(--width); height: var(--width); border-radius: 50%; border: 2px solid black; }</style>

以上这篇在vue中动态修改css其中一个属性值操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章