CSS 형식을 지정하는 방법에는 여러 가지가 있습니다. 궁극적으로 가장 편하게 쓰는 것은 당신에게 달려 있지만 이것은 더 크고 복잡한 프로젝트를 위해 CSS를 관리하는 데 도움이 될 것입니다. 중요하지는 않지만 BEM과 SMACSS의 조합을 사용하는 경향이 있습니다.
BEM은 프런트 엔드 코드를보다 쉽게 읽고 이해하고, 작업하기 쉽고, 확장하기 쉽고, 더 강력하고 명시 적이며 훨씬 더 엄격하게 만드는 매우 유용하고 강력하며 간단한 명명 규칙입니다.
블록
다음과 같이 그 자체로 의미있는 독립형 엔티티 :
header, container, menu, checkbox, input
요소
블록의 일부이며 독립적 인 의미가 없습니다. 의미 론적으로 블록에 연결되어 있습니다.
menu item, list item, checkbox caption, header title
수정 자
블록 또는 요소에 대한 플래그. 이를 사용하여 모양이나 동작을 변경하십시오.
disabled, highlighted, checked, fixed, size big, color yellow
OOCSS의 목적은 코드 재사용을 장려하고 궁극적으로 추가 및 유지 관리가 더 쉬운 더 빠르고 효율적인 스타일 시트를 장려하는 것입니다.
OOCSS는 두 가지 주요 원칙을 기반으로합니다.
- 피부에서 구조 분리
즉, 반복되는 시각적 기능 (예 : 배경 및 테두리 스타일)을 별도의 "스킨"으로 정의하여 많은 코드없이 다양한 개체와 혼합하여 다양한 시각적 다양성을 얻을 수 있습니다. 모듈 개체 및 해당 스킨을 참조하십시오.
- 용기와 내용물의 분리
본질적으로 이것은 "위치 종속 스타일을 거의 사용하지 않는다"는 의미입니다. 물체는 어디에 두든 동일하게 보여야합니다. 따라서 .myObject h2 {...}를 사용하여 특정 스타일을 지정하는 대신 문제를 설명하는 클래스를 만들고 적용합니다. 이것은 다음과 같은 보증을 제공합니다. (1) 분류되지 않은 모든는 동일하게 보입니다. (2) 카테고리 클래스 (믹스 인이라고 함)의 모든 요소는 동일하게 보입니다. 3) 실제로 .myObject h2가 정상처럼 보이길 원하는 경우에 대한 재정의 스타일을 만들 필요가 없습니다.
SMACSS는 디자인 프로세스를 검토하는 방법이며 이러한 엄격한 프레임 워크를 유연한 사고 프로세스에 맞추는 방법입니다. CSS를 사용할 때 사이트 개발에 대한 일관된 접근 방식을 문서화하려는 시도입니다.
SMACSS의 핵심은 분류입니다. CSS 규칙을 분류함으로써 패턴을보기 시작하고 이러한 각 패턴에 대한 더 나은 사례를 정의 할 수 있습니다.
카테고리에는 5 가지 유형이 있습니다.
기본
재설정 및 기본 요소 스타일을 포함합니다. 또한 특정 상황에서 나중에 문서에서 덮어 쓸 수있는 단추, 격자 등과 같은 컨트롤에 대한 기본 스타일을 가질 수 있습니다.
레이아웃
모든 탐색, 이동 경로, 사이트 맵 등을 포함합니다.
모듈
은 연락처 양식 스타일, 홈페이지 타일, 제품 목록 등과 같은 영역 별 스타일을 포함합니다.
State
isSelected, isActive, hasError, wasSuccessful 등과 같은 상태 클래스를 포함합니다.
테마 테마
와 관련된 모든 스타일을 포함합니다.
여기에 자세히 설명 할 내용이 너무 많지만 다음 항목도 살펴보십시오.