方法論
BEM (Block Element Modifier)
ブロック(ブロック全体を囲む要素)element(内部要素)--modifier(機能/修正)
B (Block)
E (Element)
M (Modifiers)
👍 長所
👎 短所
🤷♂️ 例
<header class="header">
<p class="header__title">헤더 제목</p>
<div class="header__logo">헤더 로고</div>
<form>
<fieldset>
<div class="header__search">
<input type="text" class="header__search--insert">
<button type="submit" class="header__search--btn">검색</button>
</div>
<div class="header__search--result">검색결과</div>
</fieldset>
<form>
</header>
OOCSS (Object Oriented CSS)
Nicole Sullivanが開発したフレームワークは、CSSをモジュール化して符号化することで、重複データを最小限に抑える
原則を書く.👉 構造と外形の分離+容器と内容の分離
👍 長所
👎 短所
<button type="button" class="btn-base cart">장바구니</button>
<button type="button" class="btn-base buy">바로구매</button>
/* 버튼 구조 ; 공통적인 구조 지정 */
.btn-base { ... }
/* 버튼 외형 */
.cart { ... }
.buy { ... }
SMACSS (Scalable and Modular Architecture for CSS)
CSSを拡張可能なモジュール構造の形で5つの独立したカテゴリに符号化する方法:
Base
Layout
Module
State
Theme
派生セレクタの使用を禁止
使用禁止ID
!重要な使用を禁止
👍 長所
🤷♂️ 例
<!-- 레이아웃 요소, 접힌 상태 -->
<div id="header" class="is-collapsed">
<form>
<!-- 모듈, 오류 상태 -->
<div class="msg is-error">
There is an error!
</div>
<!-- 연관된 라벨이 숨겨진 상태 -->
<label for="search" class="is-hidden">Search</label>
<input type="text" id="search">
</form>
</div>
Reference
この問題について(方法論), 我々は、より多くの情報をここで見つけました https://velog.io/@ywc8851/CSS-방법론-q0ujghmeテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol