一、原生 CSS 方案
在 HTML 文件中引入 CSS 有三种方法:
- 外部样式:通过 link 标签引入 CSS 样式
- 内页样式:写在 HTML 页面中的 style 标签里
- 行内样式:写在对应标签的 style 属性里面
优先级:行内样式 >> 内页样式 >> 外部样式
样式选择器的权重优先级:写得越具体,优先级越高,如果写得一样具体,后写的覆盖先写的
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>TEST</title>
</head>
<body>
<div id='test' class='test'>test</div>
</body>
</html>
#test{
background: blue;
}
.test{
background:orange;
}
body>div{
background:red;
}
body div{
background: yellow;
}
div{
background:red;
}
上面这个例子体现了 CSS 选择器写得越具体,优先级越高
二、SCSS 方案
GitHub 链接:https://github.com/sass/sass
SCSS 是 原生 CSS 的加强版
- 选择器里嵌套选择器
- 可以选择使用函数
截止 2020/9/17,两个 sass 最新版本为
- node-sass:4.14.1
- dart-sass:1.25.0
1. node 和 node-sass 版本
node-sass 不是一定安装成功后就直接能够使用,它的版本还需要根据 node 版本对应
参看一篇博客 《node和node-sass版本问题》
2. 安装使用 dart-sass
React 无法直接识别 dart-sass,只识别 node-sass,我们可以采用偷梁换柱的方式下载 dart-sass 并给它披上 node-sass 的外衣欺骗 React,这就能顺利使用它啦
npm install node-sass@npm:dart-sass
yarn add node-sass@npm:dart-sass
三、CSS IN JS 方案
这个链接可以查看许多不同的 CSS IN JS 方案:https://github.com/MicheleBertoli/css-in-js
使用 styled-components:https://github.com/styled-components/styled-components
styled-components 的特点如下:
- 不用再想 class 名字了
- 用 JS 创建一个带有 CSS 样式的标签
import styled from 'styled-component'
const Div = styled.div`
color: red;
font-size: 20px;
`
「@浪里淘沙的小法师」