styled-components
Styled Components 是一个用于 React 的 CSS-in-JS 库,它可以使用 JavaScript 来编写 CSS 样式.
Styled Components 通过创建 React 组件的方式来定义样式,这样可以在组件内部定义样式,而不是在全局定义样式。
它通过标记模板字面量提供了一种声明式方式来编写组件级的样式,支持动态样式、主题、服务器端渲染,并与 TypeScript 兼容,使得样式编写更直观、组件更易于维护,同时避免了全局样式冲突。
Github:https://github.com/styled-components/styled-components
安装
bash
npm install styled-components
使用
ts
import { createGlobalStyle } from 'styled-components';
export default createGlobalStyle`
*,
*:before,
*:after {
box-sizing: border-box;
}
`;
条件渲染
tsx
import styled from 'styled-components';
const Title = styled.h1 <{ $primary?: boolean }>`
font-size: 1.5em;
text-align: center;
color: ${props => props.$primary ? '#BF4F74' : '#333'};
`;
export default function StyledCondition({ primary }: { primary?: boolean }) {
return (
<>
<Title $primary={primary}>Hello, React</Title>
</>
);
}
扩展样式
js
import styled from 'styled-components';
const Title = styled.h1`
font-size: 1.5em;
text-align: center;
color: #BF4F74;
`;
const SubTitle = styled(Title)`
font-size: 1em;
color: #BF1F71;
`;
export default function StyledExtend() {
return (
<>
<Title>Styled Title</Title>
<SubTitle>Styled SubTitle</SubTitle>
</>
);
}
使用伪类
js
import styled from 'styled-components';
const Button = styled.button`
&:hover {
background-color: #FF6B98;
}
&::before {
content: '🚀';
margin-right: 5px;
}
`;
export default function StyledPsendo() {
return (
<>
<Button>click</Button>
</>
);
}
参考
Contributors
作者:Long Mo
字数统计:305 字
阅读时长:1 分钟
文章作者:Long Mo
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Longmo Docs !