多个scss文件最终编译成一个style.css,请问我多页面css命名空间怎么搞?
npm是这样
"compile:csss": "node-sass sass/main.sass css/style.css -w",
"run-server": "live-server"
scss文件是这样
main.scss
home.scss
single.scss
要求就是各个页面都引入style.css后 保证不冲突
回复
1个回答
test
2024-07-01
一般来说想在编译时合并输出为同一个 style.css
的时候。需要你在开发时遵循 BEM命名规范 这样的话就会避免CSS的类名冲突,出现覆写或者样式污染。比如说各大UI库的命名:
// element-ui
.el-collapse { ... }
.el-collapse-item { ... }
.el-collapse-item__header{ ... }
.el-collapse-content { ... }
...
或者使用 CSS-Modules 在项目编译时在原有的CSS类名基础上追加作用域属性。这样的话,就不需要在开发时遵循 BEM
命名规范了。
import type from "./type.css";
element.innerHTML =
`<h1 class="${type.display}">
This is a heading
</h1>`;
就会编译输出成为
<h1 class="_type__display_0980340 _type__serif_404840">
Heading title
</h1>
这个取舍就看你自己了,但是现在开发社区明显会更偏向于 tailwind 这种原子类的开发模式,相对来说就不怎么对CSS类名的命名方式敏感了。@Meathill 最近一直推荐的 DaisyUI 就是在 tailwind
的基础上合并一些常用的样式:
<button class="bg-indigo-600 px-4 py-3 text-center text-sm font-semibold inline-block text-white cursor-pointer uppercase transition duration-200 ease-in-out rounded-md hover:bg-indigo-700 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-indigo-600 focus-visible:ring-offset-2 active:scale-95">
Tailwind Button
</button>
就会合并成为:
<button class="btn btn-primary">
daisyUI Button
</button>
回复
适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容