📅  最后修改于: 2023-12-03 15:01:09.852000             🧑  作者: Mango
CSS 是 Cascading Style Sheets(层叠样式表)的缩写。CSS 可以对网页的样式进行微调和美化。在 HTML 和 React 中,CSS 微调器能够可以在应用程序的整个生命周期内对网页的布局进行动态的微调。
CSS 由样式规则(rules)组成,样式规则通常包含选择器和声明块。选择器指定要应用样式的 HTML 元素,而声明块在大括号内包含一种或多种样式声明(properties and values)。
选择器可以指定 HTML 元素的标签名,类名、id 名、元素的属性等等来应用样式。例如,下面的样式规则声明了指定所有段落元素应该具有红色文字属性:
p {
color: red;
}
声明块包含了每个 CSS 规则中要改变的属性和值。例如下面这段代码会把 font-size
设置为 22px
:
p {
font-size: 22px;
}
SCSS 是一种 CSS 预处理器,它为 CSS 添加了许多功能。SCSS 可以使用变量、函数以及许多其他功能,以减少无用的重复代码等问题。以下是一个 SCSS 的例子:
// SCSS 的注释
$main-color: #f84244; // 定义变量
.header {
background-color: $main-color; // 使用变量
h1 {
color: white; // 嵌套选择器
}
}
在 React 中,我们通常使用 CSS 模块或 CSS-in-JS 库来管理应用的 CSS。CSS 模块是一种通过 Webpack 等构建工具为每个组件自动创建唯一的类名和样式功能模块,从而避免样式层叠和全局命名冲突。实现 CSS 模块的 React 库包括CSS Modules 和styled-components 。
下面是一个使用 styled-components 的例子:
import styled from 'styled-components';
const Button = styled.button`
background-color: ${(props) => props.primary ? '#f84244' : 'white'};
font-size: 14px;
border: ${(props) => props.primary ? '2px solid #f84244' : '2px solid #4a4a4a'};
border-radius: 4px;
padding: 10px 20px;
color: ${(props) => props.primary ? 'white' : '#4a4a4a'};
cursor: pointer;
&:hover {
background-color: ${(props) => props.primary ? '#f52a2c' : '#e1e1e1'};
}
`;
function App() {
return (
<div>
<Button primary>Click me!</Button>
<Button>Cancel</Button>
</div>
);
}
这个例子中,我们使用了 styled-components 库创建了一个可重复使用的 React 组件。Button 将根据不同的 props 渲染不同的样式。例如,根据 prop primary
的不同,Button 的背景色、边框、文字颜色等属性将会改变。
CSS 提供了许多微调器来美化和样式化我们的应用程序。理解和有效地利用 CSS 是成为一名优秀的前端程序员的重要的一步。在这篇文章里,我们提供了 CSS 的基础元素,以及 CSS 的预处理器 SCSS 和 React 中的高阶场景和实践。希望这些内容能够帮助你和你的应用程序变得更美观和动态。