.vue文件中style标签lang属性和scoped属性的介绍

在子组件中设置style属性,如果不加scoped属性,如果是单页面程序,样式就会作用到全局中去,加了scoped属性以后,表示限制了该样式作用域只在该组件中。

<template>
    <div>
        <h1>login组件</h1>
    </div>
</template>

<script>
export default {
    
}
</script>

<style scoped>
div {
    color: red;
}
</style>

普通的style标签只支持普通的样式,如果想要启用scss或less,需要为style元素,设置lang属性

只要style标签是在.vue组件中定义的,就推荐为style标签开启scoped属性

<template>
    <div>
        <h1>Account组件</h1>
        <router-link to="/account/login">登陆</router-link>
        <router-link to="/account/register">注册</router-link>

        <router-view></router-view>
    </div>
</template>

<script>
export default {
    
}
</script>

<style lang="scss" scoped>
body {
    div {
        font-style: italic;
    }
}
</style>

Account组件设置的样式,加scoped属性,就只作用在Account组件区域内,Account组件的子组件也是属于Account组件区域内的。

scoped属性选择器的实现原理

样式的scoped属性是通过css的属性选择器实现的

Logo

前往低代码交流专区

更多推荐