CSSの発展過程
7566 ワード
CSS
SCSS
@import
// import theme.scss, button.scss
@import 'theme', 'button';
$base-color: #c6538c;
$border-dark: rgba($base-color, 0.88);
.alert {
border: 1px solid $border-dark;
}
SCSSの欠点
// theme.scss
.button { font-size: 20px; }
// button.scss
.button { font-size: 30px; }
// style.scss
@import 'theme', 'button';
BEM
BEMネーミング方式
Block
<div class="logo">
<img src='logo.svg'>
</div>
Element<ul class="menu">
<li class="menu__item">피자</li>
</ul>
Modifier<ul class="menu">
<li class="menu__item--disabled">피자</li>
</ul>
BEMのメリットとデメリット
CSS Modules
ReactでCSSモジュールを使用する
ファイル名は
/* index.module.css */
#button {
color: red;
font-size: 10px;
}
#container {
margin: 20px;
}
// app.js
import styles from "./styles.module.css";
function App() {
return (
<div id={styles.container}>
<button className={styles.button}>버튼</button>
</div>
);
}
export default App;
CSS in JS(Styled Components)
Reactでのスタイル化コンポーネントの使用
import styled from "styled-components";
const Button = styled.button`
color: red;
font-size: 10px;
`;
const Container = styled.div`
margin: 20px;
`;
function App() {
return (
<Container>
<Button>버튼</Button>
</Container>
);
}
export default App;
ソース
Reference
この問題について(CSSの発展過程), 我々は、より多くの情報をここで見つけました https://velog.io/@devsof/CSS의-진화과정テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol