The scope of css is global. As the project gets bigger and bigger and more people come to it, naming becomes a problem. Here are some solutions to the naming problem. 1. BEM The name is in the form of .block__element--modifier. The name has meaning. Block can be regarded as a module and has a certain scope. Examples .dropdown-menu__item--active 2. Scoped CSS Reference: vue-loader.vuejs.org/zh/guide/sc… Goal: The current component style will not affect other components Add a unique attribute to the component's DOM node and convert the CSS in the style tag to match the attribute, making the CSS scope limited Examples <style scoped> .example { color: red; } </style> <template> <div class="example">hi</div> </template> Conversion results: <style> .example[data-v-f3f3eg9] { color: red; } </style> <template> <div class="example" data-v-f3f3eg9>hi</div> </template> 3. CSS modules Reference: vue-loader.vuejs.org/zh/guide/cs… Convert the CSS selector into a unique string and apply it to the DOM. It is named by algorithm, recording the mapping table from human naming to algorithm naming Examples <style module> .red { color: red; } </style> <template> <p :class="$style.red"> This should be red </p> </template> Conversion results: <style module> ._1yZGjg0pYkMbaHPr4wT6P__1 { color: red; } </style> <template> <p class="_1yZGjg0pYkMbaHPr4wT6P__1"> This should be red </p> </template> 4. CSS-in-JS Reference: github.com/styled-comp… Express the css content with a unique selector. Same as CSS modules, named using an algorithm. Treat CSS as a string of JS, giving CSS more capabilities Examples <template> <css-in-js></css-in-js> </template> <script> import styled from 'vue-styled-components'; export default { components: cssInJs: styled.div ` color: red; ` } } </script> Conversion results: <template> <div class="gXTzCp"></div> </template> <style> .gXTzCp { color: red; } </style> V. Conclusion
This is the end of this article about CSS naming: BEM, scoped CSS, CSS modules and CSS-in-JS. For more relevant CSS naming content, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! |
<<: 9 super practical CSS tips to help designers and developers
>>: js handles account logout when closing the browser
Table of contents 1. Achieve results 2. Implement...
Preface I always thought that UTF-8 was a univers...
Table of contents Overview 1. How to animate a DO...
In Vue, we generally have front-end and back-end ...
During project development, our database data is ...
This article example shares the specific code of ...
Table of contents Preface Development Environment...
CSS Clear Default Styles The usual clear default ...
The traditional method is to write a square in a ...
When there is a lot of data to be displayed, the ...
If the frosted glass effect is done well, it can ...
How to create a service and auto-start it in Ubun...
The following script is used for scheduled backup...
Declaring variables Setting Global Variables set ...
Table of contents 1. Introduction 2. Component De...