vue子组件里面的伪元素等访问父组件传递过来的样式参数

虽然可以在子组件标签里面通过 :style="{}" 行类样式来动态设置想要的样式,但是当我们设置了某些标签的伪元素,想给伪元素也通过父组件来传递样式属性时,好像就没什么办法了。

不过最近翻到了一种解决方案,比如我要给一个div的::before动态设置color,通过根元素标签里面的 :style="{--color: color}" ,然后在 ::before 里面的css写为 color: var(--color) 即可,其余属性均可自定义。下面上示例代码:

<div
        class="linear-box"
        :style="{
            '--color': color
        }"
    ></div>
 
props: {
        color: {
            type: String,
            default: () => {
                return '';
            }
        },
}
 
.linear-box {
    position: relative;
    border-radius: 0.33rem;
    overflow: hidden;
    &::before {
        content: '';
        color: var(--color)
    }
}
posted @ 2021-12-03 14:31  陈楷  阅读(287)  评论(0)    收藏  举报