일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- webdevelopment
- REACT
- OOP
- CSS
- 부트캠프
- 캡슐화
- Hooks
- 투두앱만들기
- 자바스트립트
- 상속
- 추상화
- 프론트엔드
- 노마드코더
- 패스트캠퍼스
- Zustand
- typeScript
- github
- 클래스
- Props
- 불변성
- 리액트
- frontend
- 논리연산자
- js
- 객체지향프로그래밍
- 자바스크립트
- 타입스크립트
- JavaScript
- 웹개발
- Fetch
Archives
- Today
- Total
connecting dots
BEM 네이밍 본문
B
Block; 그 자체로 의미가 있는 독립적인 부분
header, container, menu, checkbox, input
E
Element; 독립적인 의미가 없고 해당 블럭과 연결된, 블록의 일부
block에 의존적인 형태로 block 안에서만 의미를 가짐
block 뒤에 '__'를 붙여 사용
header__title, menu__title, checkbox__caption
M
Modifier; 속성
해당 부분이 다르게 동작하거나 색상 등의 스타일이 다른 경우 사용
block이나 element 뒤에 '--'를 붙여 사용
- 불리언(boolean) 타입
active 상태로 속성을 주는 것
--> active 상태가 true라고 가정하고 사용
<div class="nav">
<ul class="nav__list-wrap">
<li class="nave__item nav__item--active">메뉴 1</li>
<li class="nav__item">메뉴 2</li>
</ul>
</div>
https://www.youtube.com/watch?v=er1JEDuPbZQ
// html 작성
<div class="card">
<span></span>
<div class="content">
<ul>
<li>Adobe XD</li>
<li>Figma</li>
<li>Sketch</li>
</ul>
<p>Lorem ipsum dolor, sit amet consectetur adipisicing elit. Harum officia autem quasi eum doloribus neque
voluptatem possimus esse modi distinctio veniam debitis delectus totam, ex tempore sint, fugiat sed quam.</p>
<a href="#">visit the link</a>
</div>
</div>
//BEM 방식
<div class="card">
<!-- block -->
<span class="card__img"></span>
<!-- element -->
<div class="card__content">
<ul class="card__list">
<li class="card__item card__item--active">Adobe XD</li>
<li class="card__item">Figma</li>
<li class="card__item">Sketch</li>
</ul>
<p class="card__desc">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Harum officia autem quasi eum doloribus neque
voluptatem possimus esse modi distinctio veniam debitis delectus totam, ex tempore sint, fugiat sed quam.</p>
<p class="card__link" href="#">visit the link</p>
</div>
</div>
참고 사이트
https://velog.io/@jiseong/CSS-%EB%84%A4%EC%9D%B4%EB%B0%8D-%EC%BB%A8%EB%B2%A4%EC%85%98-BEM
[CSS] 네이밍 컨벤션 BEM
styled-components와 같은 css-in-js에서는 클래스 네이밍을 자동으로 생성해주어 겹칠 가능성이 없었지만 css로만 사용하다보니 모든 스타일을 global에 선언하기 때문에 중복되는 경우가 많아 스타일시
velog.io
반응형
'Project > Toy Project 1' 카테고리의 다른 글
토이 프로젝트 1 회고 (2) | 2024.07.15 |
---|---|
Toy project source code template understanding (0) | 2024.06.18 |