はんのうそしせっけい
CDD(Component Driven Development)
部品単位でUIコンポーネントを作成する開発
構造化CSSの作成方法
なぜ構造化CSSが必要ですか?
プロジェクトの規模や複雑さはますます大きくなっています
チームメンバー数を増やす
モバイルデバイスまたはタブレット(複数ディスプレイ)
CSSフロントプロセッサ
SASS(Syntactically Awesome Style Sheets)
$base-color: rgba(255, 255, 255, 0.5)
.alert {
border: 1px solid $border-dark
}
.button {
color: $border-dark
}
属性を変数として宣言し、必要に応じて宣言された変数を使用します.繰り返しコードは、宣言を繰り返し使用できます.
内部でどのような操作を行うか分かりませんが、階層を作成するだけで、コンパイルされたCSSの容量は非常に大きいです.
BEM(Block, Element, Modifier)
.header__navigation--navi-text {
color: red;
}
Block:ブロック要素全体を囲む(前、.header)要素:ブロックに含まれる一部(--前の部分、navigation)
Modifier:ブロックまたは要素のプロパティ(ブロックまたはエンティティの外観、状態を可変にする部分)
クラス名セレクタが冗長になり、寸法が不要になり、繰り返し使用するたびにすべてのUIコンポーネントを明示的に拡張する必要があります.
SASSとBEMの共通の問題は,パッケージの概念がないため,開発者は唯一のクラス名の選択に頼るしかないということである.
CSSフロントプロセッサの問題をどのように解決しますか?
Styled-Component
const Button = styled.a`
display: inline-block;
border-radius: 3px;
padding: 0.5rem 0;
margin: 0.5rem 1rem;
width: 11rem;
`;
Automatic critical CSS
スクリーンでレンダリングされた構成部品を追跡し、その構成部品のスタイルを自動的に挿入します.最小限のコードでスクリーンをレンダリング
No class name bugs
独自のクラス名を独自に作成することで、重複やエラーによるエラーを低減
Easier deletion of CSS
既存の状況では、削除された構成部品に対応するスタイル属性を検索するためにCSSファイルでclassNameを検索する必要がありますが、スタイル属性は構成部品に関連付けられているため、構成部品を削除すると同時にスタイル属性が削除されます.
Simple dynamic styling
Propsまたはグローバルプロパティに基づいてコンポーネントにスタイルプロパティを割り当てることで、手動で管理する必要がなくなり、シンプルで直感的になります.
Painless maintenance
スタイルを構成部品に継承する属性を検索して他のCSSファイルを検索する必要がないため、コードが大きくなってもメンテナンスは難しくありません
Automatic vendor prefixing
既存のCSSを使用して各構成部品のスタイル属性を定義する
Reference
この問題について(はんのうそしせっけい), 我々は、より多くの情報をここで見つけました https://velog.io/@qjastar/React-컴포넌트-디자인テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol