Scoped Styling

Styling defined inside the <style> tag in a component, or in App.vue, is actually available globally in all components.

To keep the styling limited locally to just the component, we can use the scope attribute on that component: <style scoped>

Global Styling

CSS written inside the <style> tag in any *.vue file works globally.

This means that if we for example set <p> tags to have pink background color inside the <style> tag in one *.vue file, this will affect <p> tags in all of the *.vue files in that project.

Example

In this application we have three *.vue files: App.vue, and two components CompOne.vue and CompTwo.vue.

The CSS styling inside CompOne.vue affects <p> tags in all three *.vue files:

<template>
  <p>This p-tag belongs to 'CompOne.vue'</p>
</template>

<script></script>

<style>
  p {
    background-color: pink;
    width: 150px;
  }
</style>
Run Example »

Scoped Styling

To avoid that the styling in one component affects the styling of elements in other components we use the 'scoped' attribute on the <style> tag:

Example

The <style> tag in CompOne.vue is given the scoped attribute:

<template>
  <p>This p-tag belongs to 'CompOne.vue'</p>
</template>

<script></script>

<style scoped>
  p {
    background-color: pink;
    width: 150px;
  }
</style>
Run Example »


Copyright 1999-2023 by Refsnes Data. All Rights Reserved.