-
OOCSS, BEM class 작명법front-end/HTMI CSS 2023. 6. 22. 23:59728x90
1. Obiect Oriented CSS
- 빨간색 버튼과 파란색 버튼이 있습니다.
.main-btn-red { font-size : 20px; padding : 15px; border : none; cursor : pointer; background : red; } .main-btn-blue { font-size : 20px; padding : 15px; border : none; cursor : pointer; background : blue; }
- 아마 두개의 button에 이렇게 넣는 경우
- 중복된 코드가 4줄이 존재를 합니다.
- 버튼이 5가지 색이면? 10가지 색이면?
- CSS 파일에 용량이 커지면 웹사이트 로딩 속도를 저하시키는 원인이 됩니다.
.main-btn { font-size : 20px; padding : 15px; border : none; cursor : pointer; } .bg-red { background : red; } .bg-blue { background : blue; }
- 이 코드는 어떤가요?
- 뼈과 살이 분리하는 방법입니다.
- 버튼의 동일한 속성은 하나로 만들고 다른 점만 따로 class로 분리를 한것입니다.
- HTML에서는 이렇게 작성이 되겠죠
<button class="main-btn bg-red">빨간버튼</button> <button class="main-btn bg-blue">파란버튼</button>
1.1 코드를 분리해서 얻는 이점
- 중복된 스타일을 재사용가능합니다.
- CSS 파일용량도 줄어들고 코딩 시간도 절약
- 유지보수가 편리해집니다.
- 사이트의 모든 버튼의 크기나 폰트를 바꿀 경우 한곳만 건드리면 됩니다.
- 코드 작성에 빨라집니다.
- .bg-red 이렇게 색깔의 class들을 전문 용어로 utility class라고 합니다.
.bg-red { background : red; } .bg-green { background : green; } .bg-blue { background : blue; }
- 버튼 만들때 class명 2~3개만 선택하면 되기 때문에, css 파일을 열지 않고 빠르게 코드 작성이 됩니다.
- 폰트 역시 쉽게 변화 시킬 수 있습니다.
- 요즘 반응형 웹으로 스마트폰 화면, 태블릿 화면, pc 화면에 속하는 글꼴 크기도 빠르게 할수있죠.
.font-small { font-size : 12px; } .font-medium { font-size : 16px; } .font-lg { font-size : 20px; }
2. BEM class 작명법
- 아래 코드는 쉽게 파악이 되지 않습니다.
<div> <img> <h4>이름</h4> <p>소개글</p> <button>빨간버튼</button> <button>파란버튼</button> </div>
2.1 클래스명으로 손쉽게 파악을 하는 방법이 있습니다.
- class를 작명할 땐 우선 덩어리이름으로 시작하는게 좋습니다.
- 태그마다 다른 class명을 부여하려면 __태그명을 뒤에 붙입니다.
- img 태그는 profile_img, button 태그는 profile__button 등등
- 같은 태그들의 디자인을 구분하려면 --
- 빨간 버튼은 --red, 파란 버튼은 --blue 등등
<div class="profile"> <img class="profile__img"> <h4 class="profile__h4">이름</h4> <p class="profile__content">소개글</p> <button class="profile__button--red">빨간버튼</button> <button class="profile__button--blue">파란버튼</button> </div>
728x90'front-end > HTMI CSS' 카테고리의 다른 글
CSS Flexbox (0) 2023.06.25 HTML CSS 웹폰트 넣는 방법 & 안티앨리어싱 (0) 2023.06.25 CSS 버튼에 커서 올려놓을때, 클릭할때 변화시키기 (0) 2023.06.22 CSS nth-child 셀렉터 짝수&홀수 td만 스타일 주는 법 (0) 2023.06.20 CSS Table 테두리 밑에만 색상 넣는법 (0) 2023.06.20