如何動態(tài)修改偽元素樣式?
1.css中如何用變量
聲明css變量的時(shí)候,變量名前面要加兩根連詞線(–)。
變量名大小寫敏感,–header-color和–Header-Color是兩個(gè)不同變量。
var()函數(shù)用于讀取變量。
var()函數(shù)還可以使用第二個(gè)參數(shù),表示變量的默認(rèn)值。如果該變量不存在,就會使用這個(gè)默認(rèn)值。
第二個(gè)參數(shù)不處理內(nèi)部的逗號或空格,都視作參數(shù)的一部分
<style>
body {
--highlight-color: green;
}
.container {
--highlight-color: red;
}
a {
color: var( --highlight-color );
}
</style>
<body>
<div class="container">
<a href="">修改顏色</a>
</div>
</body>
2.根據(jù)css中使用變量的方法,我們可以結(jié)合vue中動態(tài)行內(nèi)樣式進(jìn)行偽元素動態(tài)屬性設(shè)置
<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>