Skip to content
Home » Css 네이밍 | 칭찬받는 코드 작성법 (처음 Html/Css 공부하시는 분들이라면 꼭꼭 보세요!) 최근 답변 216개

Css 네이밍 | 칭찬받는 코드 작성법 (처음 Html/Css 공부하시는 분들이라면 꼭꼭 보세요!) 최근 답변 216개

당신은 주제를 찾고 있습니까 “css 네이밍 – 칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!)“? 다음 카테고리의 웹사이트 https://hu.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: https://hu.taphoamini.com/photos/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 김버그 Kimbug 이(가) 작성한 기사에는 조회수 40,789회 및 좋아요 906개 개의 좋아요가 있습니다.

css 네이밍 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!) – css 네이밍 주제에 대한 세부정보를 참조하세요

0:10 코드 가독성의 꽃, Indentation (들여쓰기) 🌹
0:45 HTML 마크업 할 때 팁 🎉
1:28 용서할 수 없는 못된 코드 발견 😡
1:55 인라인 스타일을 사용하는 사람을 대처하는 방법 😈
2:14 인라인 스타일이 왜 악마 같은 짓이죠? 🤔
2:33 커여운 재혁님의 질문 🐧
2:43 더 이상 날 거슬리게 하지 말라 (feat. 일관성이 제일 중요합니다) 🚫
3:05 자바스크립트 코드는 head에 넣지 않습니다 ✋
3:18 뜻밖의 버그 발견 🐛
3:28 올바른 title 사용법 🤘
4:27 HTML 리뷰 끝, 이제 CSS로 🎉
4:37 파일 이름은 명시적으로! 🔖
4:54 (대공사 시작) CSS를 읽기 쉽게 작성하는 방법 🚧
5:54 고급진 CSS 선택자를 사용하시는 군요 🥨
6:30 CSS를 200% 활용하는 스타일시트 관리법 😎
7:18 재혁님의 코드 습관을 뜯어 고치기 위한 버그의 작은 선물 🎁
7:32 Prettier를 소개합니다 🎊
7:41 .prettierrc 설정하는 법 💙
8:35 그래서 Prettier를 쓰면 어떻게 되는데요? 🤷‍♀️
9:16 HTML에 Prettier가 작동 안 했던 이유ㅠㅠ (feat. 태그를 잘 사용하자) 🕵️‍♀️
10:06 세 살 버릇이 여든 간다, 올바른 코드 작성 습관이 중요한 이유! 👴
10:50 그래도 이 정도면 훌륭하십니다 🍼
11:15 에필로그 💕

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

다소 주관적인 리뷰이긴 하지만
도움이 되었으면 좋겠어요!
그리고 참여해주신 재혁님
잔소리는 많았지만 제 맘 아시죠…?
좋아요 + 구독 = 해피 🥰
좋아요/구독은 버그를 춤추게 합니다
👀 Prettier에 대해 더 자세히 알고 싶으시다면?
▶︎ https://prettier.io/
🦄 김버그의 HTML\u0026CSS는 재밌다
▶︎ https://bit.ly/35p5BsC
아래의 쿠폰 코드를 결제 시 입력하시면
50% 할인을 해드립니다!!!!
😎 THX_KIMBUG_SUBSCRIBERS

▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

🐝
KIMBUG

출연_김버그, 장재혁
영상편집_김버그

css 네이밍 주제에 대한 자세한 내용은 여기를 참조하세요.

CSS 네이밍 규칙

공통 규칙 잘못된 예 올바른 예 설명 Tit_pop.html *-hden-obj 03_btn_more.gif tit-section 시작이름은 영문 대문자, 숫자, 특수문자로 시작할 수 …

+ 여기를 클릭

Source: uipac.com

Date Published: 7/13/2022

View: 2729

네이밍 컨벤션 BEM

회사에 입사하기 전에는 “css는 그냥 돌아가기만 하면 됐지” 하고 나 이름을 대충대충 적어서 코드를 짜는 일이 많았었습니다.

+ 더 읽기

Source: tech.elysia.land

Date Published: 9/19/2022

View: 9432

[CSS] Naming Conventions 네이밍 규칙 – 파고 또 파기

카멜케이스는 사용한 네이밍은 CSS에는 적합하지 않음 .redBox 보단 .red-box가 표준적인 CSS 네이밍 규칙이며 더 읽기 쉬움 …

+ 여기를 클릭

Source: padak-padak.tistory.com

Date Published: 2/21/2022

View: 7131

[번역] 디버깅 시간을 절약할 수 있는 CSS 네이밍

이 글은 Ohans Emmanuel의 CSS Naming Conventions that Will Save You Hours of Debugging 을 번역한 내용입니다. Ohans Emmanuel(원작자)의 허락을 …

+ 여기에 자세히 보기

Source: blog.sonim1.com

Date Published: 7/14/2022

View: 8352

[작업가이드] 파일,CSS 네이밍 규칙 : 네이버 블로그

[작업가이드] 파일,CSS 네이밍 규칙 … ID / Class 네이밍 규칙 … 공통적으로 사용되는 예약어는 “레이아웃 > 형태” 와 같이 네이밍 한다.

+ 여기를 클릭

Source: m.blog.naver.com

Date Published: 10/13/2022

View: 3610

css 에서 class 네이밍 규칙 – 진스

css 에서 네이밍 규칙. 입방정 2021. 4. 26. 10:25. 방식 1. “역활”과 “이름” : btn, tab, tit, desc, … 방식 2. CSS 레이아웃 예약어. #header. 헤더영역.

+ 여기에 더 보기

Source: bangj.tistory.com

Date Published: 6/8/2022

View: 3812

견고한 UI 설계를 위한 마크업 가이드 정리 2탄 BEM이 뭐지 …

패스트캠퍼스 The RED : 견고한 UI 설계를 위한 마크업 가이드 정리 2탄 BEM이 뭐지? CSS 네이밍 어떻게 하지? 펠릭스 2021. 10. 29. 16:07. “이름을 ‘개똥이’라고 …

+ 더 읽기

Source: felix-escape.tistory.com

Date Published: 3/3/2021

View: 6087

class 이름 정할 때 규칙? | 코드잇

big-blue-text, centered-text 처럼 css 클래스명을 지을때 자주쓰는 규칙이 있을까요? 클래스명을 보통은 어떤 방법으로 짓는지 궁금해요~!

+ 여기에 보기

Source: www.codeit.kr

Date Published: 3/25/2022

View: 2502

주제와 관련된 이미지 css 네이밍

주제와 관련된 더 많은 사진을 참조하십시오 칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!)
칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!)

주제에 대한 기사 평가 css 네이밍

  • Author: 김버그 Kimbug
  • Views: 조회수 40,789회
  • Likes: 좋아요 906개
  • Date Published: 최초 공개: 2020. 6. 26.
  • Video Url link: https://www.youtube.com/watch?v=ATVDtfUe8pY

CSS 네이밍 규칙

공통 규칙

잘못된 예 올바른 예 설명 Tit_pop.html

*-hidden-obj

03_btn_more.gif tit-section 시작이름은 영문 대문자, 숫자, 특수문자로 시작할 수 없다.(파일 및 폴더 제외) cancle_btn_off_01.gif, msgbox-off-toggle btn_cancle_01_off.gif, msgbox-toggle-off 네이밍의 조합은 ‘형태_의미_순서_상태’을 기본 순서로 사용한다. customerService customer_service 네이밍 규칙의 언더스코어(_) 조합은 파일, 폴더, 이미지에 사용한다. hidden_obj hidden-obj 네이밍 규칙의 하이픈(-) 조합은CSS 네이밍에 사용하는 것을 권장한다. HTML 문서 안에서 언더스코어(_)의 조합은 form, input 엘리먼트등의 name 어트리뷰트의 값을 사용하는 것을 권장한다. 이유는 클래스 네임이 서버사이드 스크립트의 변수와 자바스크립트의 변수 정의시 혼돈을 방지하기 위함이다. cyber_center_1, cyber_center_2 cyber_center_01, cyber_center_02 1, 2과 같은 한자리 정수는 사용하지 않으며 01, 02과 같이 사용하며 사용을 권장한다. 대부분의 파일관리 유틸리티 프로그램들을 사용하여 파일의 이름으로 정렬할 때에 정렬의 순서를 보장하기 위함이다. box-type01,

box-type02,

box-type03 box-type,

box-type02,

box-type03 1, 2과 같은 한자리 정수는 사용하지 않으며 01, 02과 같이 사용하며 사용을 권장한다. 대부분의 파일관리 유틸리티 프로그램들을 사용하여 파일의 이름으로 정렬할 때에 정렬의 순서를 보장하기 위함이다.

파일 및 폴더 네이밍

기확과 개발에서 정의된 디렉토리 구조도 및 화면 아이디가 정의가 되어있다면 그에 준한 규칙에 따라 파일 및 폴더의 이름을 사용한다.

분류 예제 설명 Folder html 업무별 폴더 생성가능. 00.service, 01.customer, 02.account html_guid 마크업 가이드, 접근성가이드, 화면 목록등의 파일 및 폴더 생성 가능 js 라이브러리별 폴더 생성 가능 css 디렉토리별 폴더 생성 가능 img 네이밍별 폴더 생성 가능 HTML 0101.html 화면 코드 사용(별도의 정의된 네이밍 롤이 없을 경우 사용) 00_customer_service_list.html 화면 코드, 메뉴명, 상태의 조합 00_pop_*.html 팝업 파일 사용 00_aj_*.html ajax 이용하여 페이지를 동적으로 사용하는 파일 00_if_*.html iframe 파일 CSS 00.service.css 폴더명을 사용 default.css 브라우저 호환성을 위하여 기본 css 속성을 정의하며, common.css를 @import 한다. layout.css 화면의 레이아웃 구조의 표현을 정의한 파일 common.css 전역에 쓰이는 요소의 표현을 정의하며 html의 업무별, 디렉토리별 구분하여 작성한 css 파일을 @import 한다. JS common.js 전역에 사용하는 스크립트를 작성한다.

아이디 네이밍

시작의 이름은 영문 소문자를 사용하되 두 번째 단어부터 첫 번째 문자를 대문자로 처리하는 기법(카멜 케이스)을 사용한다.

동일한 이름의 id는 문서에서 한번만 사용이 가능하다.

지정된 레이아웃을 제외한 스타일 지정을 위하여 id를 사용하지 않는다.

앵커로서 사용되는 엘리먼트는 id 지정이 가능하다.

User Interface 동작을 위하여 DOM 선택자로서의 id 지정은 가능하다.

예약어가 있는 경우 예약어를 사용한다.

잘못된 예 올바른 예 error_Mesage errorMesage control_center controlCenter checkbox_3

레이아웃 예약어

예약어 설명 #wrapper 페이지 전체 영역 그룹핑 #header 머리글 영역 #container 본문영역 그룹핑 #content 중요컨텐츠 영역 #footer 바닥글 #popWrapper 팝업 페이지 전체 영역 그룹핑 #popHeader 팝업 머리글 영역 #popContainer 팝업 본문영역 그룹핑 #popContent 팝업 중요컨텐츠 영역 #popFooter 팝업 바닥글

동작선택 예약어

예약어 설명 #gnbNav 글로벌 네비게이션 영역 메뉴 #lnbNav 로컬 네비게이션 영역의 메뉴 #snbNav 사이드 네비게이션 영역의 메뉴

클래스 네이밍

시작의 이름은 영문 소문자를 사용하며 두 번째 단어부터 하이픈(-)으로 연결하며 대문자는 사용하지 않는다.

영문 소문자, 숫자, 하이픈(-)만 사용할 수 있다.

하이픈(-)은 2개 이상의 단어를 조합할 때만 사용한다.

클래스 예약어에 숫자, 영문소문자, 하이픈(-)을 조합하여 사용할 수 있다.

하이픈(-)을 이용하여 3단계를 초과하여 사용하는 방법은 지양한다.

숫가자 없으면 ’01’이라는 숫자가 생략된 것으로 간주한다.

다중의 클래시 지정을 허용하며 최대 3개 이상 사용하지 않도록 주의한다.

잘못된 예 올바른 예 error-Mesage error-mesage control_center control-center

기본 예약어

예약어 설명 .aside-* 보통 보통 #container 또는 #content 에 종속 되며 켵가지 영역으로 불리기도 한다. .gnb 최상위 공통 네비게이션(Global Navigation Bar)을 지정합니다. 보통 수평(bar)형태로 표현되며 #header 에 종속된다. 수직으로 표현되는 경우는 거의 드물지만 그러한 경우 #header 에 종속되지 않을 수도 있습니다. .lnb 현재 서비스의 지역(Local Navigation Bar) 네비게이션을 지정 합니다. 보통 수평(bar)형태로 표현되며 #header 에 종속된다. 수직으로 표현되는 경우는 거의 드물지만 그러한 경우 #header 에 종속되지 않을 수도 있습니다. .nav-* gnb, lnb, snb 이외의 네비게이션을 지정합니다. .path 현재 페이지의 경로를 지정합니다. 보통 #container 또는 #content 에 종속됩니다. .section-* 콘텐츠를 분할하거나 그룹핑 하는 블럭 입니다. 보통 #content 내부에 배치한 다음 heading 태그(h1~h6)와 함께 사용하는 것을 권장합니다. .snb .gnb, .lnb 를 제외한 측면(Side Navigation Bar) 네비게이션 영역을 지정합니다. 보통 #container 에 종속되고 수직으로 표현되지만 수평으로 표현되는 경우도 있으므로 #header 에 종속되는 등 예외의 경우도 있을 수 있습니다.

ㅁㄴㅇㄹ

BODY 예약어

브라우저의 호환성을 및 css 핵의 사용을 최소화 하기 위하여 javascript를 이용하여 body 엘리먼트에 클래스 명을 지정한다.

개발 완료시 서버사이드 언어로 브라우저 타입을 구별하여 해당 클래스 예약어를 body 엘리먼트에 적용하여야 한다.

예약어 브라우저 msie6 Internet Explorer6 msie7 Internet Explorer7 msie8 Internet Explorer8 msie9 Internet Explorer9 msie10 Internet Explorer10 msie11 Internet Explorer11 firefox firefox safari safari opera opera chrome chrome

이미지 네이밍

이미지 네이밍의 조합은 ‘형태_의미_순서_상태’의 순서로 조합한다.

같은 이름의 이미지가 두 개 이상 존재하면 파일 언더스코어(_)로 구분한다.

이미지 네이밍은 이미지의 확장자에 관계 없이 순차적으로 적용한.

예) btn_confirm.gif, btn_confirm_02.jpg, btn_confirm_03.png

예) btn_confirm.gif, btn_confirm_02.jpg, btn_confirm_03.png 임시이미지에 한하여 @특수문자를 처음으로 사용할 수 있다.

이미지 예약어에 숫자, 영문소문자, 언더스코어(_)를 조합하여 사용할 수 있다.

잘못된 예 올바른 예 설명 on_tab_info.gif tab_info_01_on.gif 형태_의미_순서_상태 순서로 조합한다. tio.gif tab_info_on.gif 임의로 축약하지 않는다. tbl_type_list_02_off.gif tbl_list_02_off.gif 가급적 4단계 이하의 조합을 사용한다. btn_Active.gif btn_active.gif 영문 소문자를 사용한다. bul_square_type02.gif bul_square_type_02.gif 같은 분류의 이미지 사용시 언더스코어(_)로 구분한다.

이미지 예약어

분류 예약어 사용 예 설명 텍스트 h[1-6]_*, h_* h_logo.gif, h12_header.gif, h1_article.gif heading 요소에 사용한다. tit_* tit_leble_id.gif, tit_definition_list, tit_table_th.gif heading 요소로 사용되지는 않고 문단의 강조를 나타내는 형식의 텍스트, 주로 테이블의 제목셀, dt 엘리먼트, label 엘리먼트, strong 엘리먼트에 사용 txt_* txt_msg.gif, txt_desc_1 문단의 이미지로된 텍스트에 사용 링크요소 nav_* nav_gnb_ko.gif, nav_gnb_login.gif, nav_lnb_about.gif lnb, gnb, snb 등의 네비게이션 요소에 사용 tab_* tab_style_01_on.gif, tab_style_01_off.gif 네비게이션 요소를 제외한 탭 메뉴 형태에 사용 btn_* btn_ok.gif, btn_ok_02.gif, btn_bg_type.gif 버튼 형식의 a 엘리먼트, button 엘리먼트, input[type=image] 엘리먼트 요소에 사용한다. 버튼의 이미지가 배경으로 사용하여도 btn_* 예약어를 사용 박스 box_* box_type.gif, box_login.gif grouping 목적으로 사용되는 div 엘리먼트에 주로 사용 불릿 bul_* box_arrow.gif, bul_arrow_02.gif, bul_square,gif 의미가 없는 요소로 사용할 수 있는 이미지로 사용. 아이콘 icon_* icon_download.gif, icon_upload.gif 의미가 있는 요소로 설명에 대한 텍스트가 명확한 경우 상태 *_on, *_off, *_over tab_type_01_on.gif, tab_type_01_off.gif, tab_type_01_over.gif 활성, 비활성, 오버/포커스 상태에 대한 표현에 사용 임시 @* @tm_layout_header.jpg, @thumb_photo_1.jpg, @ad_main_1.jpg 임시로 레이아웃의 구조에 사용되는 이미지 또는 개발과 연동되는 부분의 썸네일 이미지, 광고영역의 이미지에 사용

출처: http://hhh8947.tistory.com/323

[CSS] Naming Conventions 네이밍 규칙

*

카멜케이스는 사용한 네이밍은 CSS에는 적합하지 않음

.redBox 보단 .red-box가 표준적인 CSS 네이밍 규칙이며 더 읽기 쉬움

BEM 네이밍 규칙

팀마다 서로 다른 방식으로 CSS Selector를 작성함

어떤 팀은 하이픈(-)을 사용하는 반면, 더 체계적인 CSS 네이밍 규칙인 BEM을 쓰는 팀도 있음

일반적으로, CSS네이밍 규칙은 아래 3가지 문제를 해결할 수 있음

1. CSS Selector 이름을 보고 무엇을 하는지 알 수 있음

2. CSS Selector 이름을 보고 어디서 사용하는지 알 수 있음

3. CSS Selector 이름을 보고 Class들의 관계 를 알 수 있음

B – block ( nav, header, footer )

E – Elements ( head, arms, feet )

M – Modifiers

01)

Block과 같은 Component 중 스틱맨이 있다면

stick-man이라고 클래스 네임방식이 이상적이라 할 수 있음

ex)

.stick-man { }

02)

Component안에 있는 구성요소(Elements)는

BEM 네이밍 규칙을 사용하면 두개의 밑줄을 추가하고 Element이름을 추가함

ex)

.stick-man__head { }

.stick-man__arms { }

.stick-man__feet { }

03)

Component안에 있는 구성요소의 수식어(특정요소)는

두개의 하이픈( – )과 modifier 클래스 명을 추가함

ex)

.stick-man–red { }

.stick-man–blue { }

.stick-man은 Block에 해당

.stick-man__head는 구성요소에 해당

.stick-man__head–small은 수식어에 해당

참고사이트:

https://blog.sonim1.com/221

[번역] 디버깅 시간을 절약할 수 있는 CSS 네이밍

이 글은 Ohans Emmanuel의 CSS Naming Conventions that Will Save You Hours of Debugging 을 번역한 내용입니다.

Ohans Emmanuel(원작자)의 허락을 받은 후 작성되었으며, 이 글의 모든 저작권은 Ohans Emmanuel에게 있습니다. 이해의 편의상 의역이 들어가 있습니다.

잘못된 번역은 댓글로 남겨주시면 감사하겠습니다!

디버깅 시간을 절약할 수 있는 CSS 네이밍

저는 많은 개발자들이 CSS가 싫다고 하는 것을 들었습니다.

하지만 제 경험에 의하면, 이런 불만이 생기는 이유는 그들이 CSS를 배우는 데 시간을 들이지 않기 때문입니다.

CSS는 가장 아름다운 언어는 아니지만 20년 이상의 웹 스타일링을 성공적으로 수행해 왔습니다.

하지만 더 많은 CSS를 사용할 경우 CSS 유지보수가 어려워지는 단점을 쉽게 볼 수 있습니다.

이 포스트에서는 이런 단점을 보완하여 CSS로 인한 스트레스와 시간을 줄일 수 있는 몇 가지 명명 규칙을 소개합니다.

하이픈(-)으로 구분된 문자열 사용

만약 당신이 자바스크립트를 많이 사용했다면 변수명으로 카멜 케이스를 쓰는데 익숙해져 있을 겁니다.

var redBox = document .getElementById( ‘…’ )

그렇죠?

문제는 카멜 케이스를 사용한 네이밍은 CSS에는 적합하지 않습니다.

이 규칙에 대한 잘못된 예:

.redBox { border : 1px solid red; }

이 규칙에 대한 올바른 예:

.red-box { border : 1px solid red; }

이것은 표준적인 CSS 네이밍 규칙이며 더 읽기 쉽습니다.

또한 CSS 속성 이름 규칙과도 일치합니다.

// Correct // CSS 속성명도 – 을 사용 .some-class { font-weight : 10em } // Wrong // CSS 속성 명은 CamelCase 를 사용하지 않는다. .some-class { fontWeight : 10em }

BEM 네이밍 규칙

팀마다 서로 다른 방식으로 CSS Selector를 작성합니다. 어떤 팀은 하이픈(-)을 사용하는 반면, 더 체계적인 CSS 네이밍 규칙인 BEM을 쓰는 팀도 있습니다.

일반적으로, CSS 네이밍 규칙은 아래 3가지 문제를 해결할 수 있습니다.

CSS Selector 이름을 보고 무엇을 하는지 알 수 있습니다. CSS Selector 이름을 보고 어디서 사용하는지 알 수 있습니다. CSS Selector 이름을 보고 Class들의 관계 를 알 수 있습니다.

이렇게 쓰인 클래스 네임을 본적이 있나요?

.nav–secondary { … } .nav__header { … }

이것이 BEM 네이밍 규칙입니다.

5살 아이에게 BEM 설명하기

BEM은 전체 사용자 인터페이스를 재사용 가능한 작은 구성요소들로 나누려고 시도합니다.

아래 그림을 보세요.

스틱맨은 Block과 같은 Component에 해당합니다. BEM의 B는 Block이라고 이미 짐작하셨을 겁니다.

실제 환경에서 Block은 사이트의 Nav, Header, Footer 등에 해당합니다.

위에서 설명한 방식에 따라서 스틱맨 Component의 이상적인 클래스 네임은 stick-man 이 될 수 있습니다.

CSS 코드로 보면 아래와 같습니다.

.stick-man { }

그리고 우리는 구분된 문자열을 사용했습니다. Good!

E는 Elements

BEM의 E는 Elements라는 의미입니다.

전반적으로 Block이 따로 고립된 채로 있는 경우는 드뭅니다. 예를 들어, 스틱맨은 머리, 두 개의 멋진 팔 그리고 다리를 가지고 있습니다.

머리, 팔 그리고 다리는 모두 Component 안에 있는 구성요소(Elements)입니다.

BEM 네이밍 규칙을 사용하여 두 개의 밑줄을 추가하고 Element 이름을 추가 합니다.

For Example:

.stick-man__head { } .stick-man__arms { } .stick-man__feet { }

M은 Modifiers

BEM의 M는 수식어(Modifiers)라는 의미입니다.

스틱맨을 파란색이나 빨간색으로 꾸며줘야 한다면 어떨까요?

실제 예제로는 버튼을 생각할 수 있습니다. 버튼을 파란색이나 빨간색으로 꾸며줘야 할 때 이런 수식어(Modifier)를 BEM으로 표현할 수 있습니다.

두개의 하이픈(-) 과 modifier 클래스 명을 추가합니다.

For example:

.stick-man–blue { } .stick-man–red { }

위 Example에서는 Modifier가 추가된 상위 Component를 보여줍니다.

머리 크기가 다른 스틱맨이 있다면 어떨까요?

이번에는 스틱맨 Component의 내부 Element(머리)가 수정되었습니다. 머리는 하위 Component라는 걸 명심하세요.

.stick-man 은 Block에 해당하고, .stick-man__head 는 구성요소(Element) 입니다.

아래 예에서 볼 수 있듯이 하이픈을 아래와 같이 사용할 수 있습니다.

.stick-man__head–small { } .stick-man__head–big { }

다시 한번 말하지만, 위에서 두 번의 하이픈을 사용하는 걸 주목하세요. 이는 수식어(Modifier)를 나타내는 데 사용됩니다.

이제 우리는 BEM이 작동하는 기본적인 방식을 알게 되었습니다.

개인적으로 간단한 프로젝트에는 단지 하이픈(-) 구분자만 사용하는 경향이 있습니다. 그리고 사용자 인터페이스에 좀 더 관련된 경우 BEM을 사용하는 편입니다.

Read More BEM

왜 명명 규칙(Naming Conventions)을 사용하는가?

Computer Sciene에는 두 가지 어려운 문제가 있다. 캐시 무효화(cache invalidation)와 이름 붙이기 – Phil Karlton

네이밍은 어렵습니다. 하지만 일을 쉽게 만들기 위한 올바른 네이밍의 대가로 추후 유지보수 시간을 절약할 수 있습니다.

정확한 CSS 네이밍을 한다면, 코드를 읽기 쉽고 유지 보수하기 쉽게 만들어 줄 것입니다.

만약 BEM 명명 규칙을 선택한 경우, Component와 Block 간의 관계를 쉽게 확인할 수 있습니다.

CSS 네이밍에 대한 자신감이 생기셨나요?

CSS Names with JavaScript Hooks

오늘은 John의 첫 출근 날입니다.

그는 다음과 같은 HTML 코드를 건네받았습니다.

< div class = "siteNavigation" >

John은 이 포스트를 이전에 읽었고 건네받은 HTML 코드가 최선의 방법이 아닐 수도 있다는 것을 깨달았습니다. 그래서 그는 아래와 같이 코드를 다시 만들었습니다.

< div class = "site-navigation" >

좋아 보이네요. 그렇죠?

하지만 John은 코드를 망쳤습니다.

어떻게 망쳤냐구요?

어딘가에 있는 Javascript에서 변경 전 클래스 명인 siteNavigation를 사용하고 있었습니다!

const nav = document .querySelector( ‘.siteNavigation’ )

클래스 이름이 변경됨에 따라서 nav 변수가 null이 되었습니다.

이 얼마나 슬픈일이가요.

이런 경우를 방지하기 위해 개발자들은 여러 가지 전략을 내놓았습니다.

1. js- class 이름 사용하기

버그를 경감시키는 한 가지 방법으로 DOM 요소와의 관계를 나타내기 위해 js-* 클래스 명을 사용합니다.

For example:

[작업가이드] 파일,CSS 네이밍 규칙

– id는 camelcase 방식으로 사용한다.

– 두개의 단어를 사용할 경우에는 이어지는 단어를 대문자로 표기하여 사용한다. (카멜표기법)

– class는 하이픈 방식으로 사용한다.

패스트캠퍼스 The RED : 견고한 UI 설계를 위한 마크업 가이드 정리 2탄 BEM이 뭐지? CSS 네이밍 어떻게 하지?

“이름을 ‘개똥이’라고 짓는 것과 같다.”

이름을 ‘개똥이’라고 짓는 것과 같다.

마크업을 할 때도 그렇고 프로그래밍을 할 때 고민이 되는 부분은 ‘변수와 함수의 이름을 뭐로 지을까?’이다.

프로그래밍뿐 아닌 작품명, 책 제목, 타이틀, 서브 타이틀, 상품명 등 다양한 분야에서도 작명으로 인해 많은 생각을 하게 된다. 그래서 그런지 컴퓨터 과학 분야에서 이런 말도 있다고 한다.

컴퓨터 과학에는 두 가지 난제가 있다. – Phil Karlton

캐시를 무효로 만드는 것 작명

이제부터 이름을 어떻게 작명하는게 좋을지 함께 공유하고 생각해보도록하자.

컴퓨터 과학에는 두 가지 난제가 있다. – Phil Karlton

작명 규칙을 잘못 관리한 사례

“찔리시는 분?”

사례를 들어서 설명을 해주는데 조금 뜨끔했다. 작명을 하기 위한 고민을 안하고 귀찮아서 대충 이름을 지어서 작업을 하곤 했었는데 아래 사례들을 보니.. 잠시 반성을 하는 시간을 가져본다.(묵념)

의미를 파악할 수 없는 작명

.bt { } .cnt { } .mt { }

전역 공간을 선점한 흔한 이름

.content{ } .button{ } .top{ }

선택 규칙을 잘못 관리한 사례

아래와 같은 사례는 처음에 초기값을 none으로 처리해 놓고 정작 사용할 때 부모, 부모의 부모, 부모의 부모, 즉 대상자를 표시하기 위해 증조할아버지, 증조할머니까지 모시고 오는 꼴이 되어버린다.

//reset.css a { text-decoration: none; } //local.css .module a { text-decoration: underline; } #special.module a { text-decoration: none; } // X #another#special.module a { text-decoration: underline; } // X

CSS selector specificity(선택자 우선순위 규칙)

선택자 우선순위는 작업을 하다보면 ‘자연스럽게’ 익혀지기도 하지만 한번 알고 넘어가는게 좋다. 우선순위를 모르면 위에서 말한 증조모까지 모시고와야하는 사실을 인지하고 이왕 보는김에 습득하고 넘어가면 좋을거 같다.

아래와 같은 점수표(?)를 봤을 때 가장 이상적인 규칙은 020보다 낮게 유지하는 것이 CSS코드를 관리하는데 좋다. 020을 유지하려면 아이디(#)를 이용한 클래스를 절대, Never, ever 사용하지 않기를 추천한다는 이야기니 지금 작업하면서 css 코드에서 #에다가 스타일을 매기고 class를 안넣었다면 언능 바꾸기를..(뭐.. 정답은 아니니까 동의하지 않는다면 굳이 바꿀 필요는 없다.)

ID class, [attr], :class type, ::element 0 0 0

선택자 우선순위 규칙 사례

a 0,0,1 > 001 .a 0,1,0 > 010 #a 1,0,0 > 100 #a a 1,0,1 > 101 #a.a a 1,1,1 > 111 #a#b[href]::before 2,1,1 > 211

참고링크

CSS 셀렉터 잘 사용하고 있나?

cssstats.com은 CSS 셀렉터 사용에 대한 평가를 해주는 사이트다. 국내 최대 포탈인 네이버와 다음을 기준으로 비교를 해봤는데 다음 포탈이 네이버보다 2배 가까이 셀렉서 사용을 잘 하고 있는 것으로 나타났다.(티스토리는 다음꺼 ㅋㅋ)

CSS 셀렉터는 위에서 언급한 증조모까지 모시고 오느냐, 아니면 부모님선에서 끝내야 정도의 차이라고 생각하면 좋을거 같다. 이정도 차이라면 부모님도 안모시고 오는 정도 인거 같은데.. 다음 굿.!

네이버 포탈 다음 포탈

CSS 네이밍기법 BEM state 2020 ( 만족도 : 81.84% )

CSS 네이밍기법 BEM state 2020 ( 만족도 : 81.84% )

HTML&CSS 마크업을 공부하는 사람이라면 한번쯤은 들어봤을 BEM. Blcok Element Modifier의 약자로 사용자의 만족도가 가장 높은 네이밍 기법이다.

BEM 외 다른 네이밍 기법

BEM 외 네이밍 기법은 각각 만족도와 재사용을 원하는 비율이 다르다. BEM은 사용해본 사람들이 다시 사용할 예정이라는 비율이 75%로 가장 높다. 그래서 이번엔 BEM만 다루도록 하겠다.( 1등만 기억하는 더러운 세상.. ㅋ )

Atomic CSS(Utility-first CSS) ITCSS CUBE CSS SMACC OOCSS

BEM의 명명 규칙

B lock 재사용 가능한 독립적인 블록

lock 재사용 가능한 독립적인 블록 E lement 블록을 구성하는 종속적인 하위 요소

M odifier 블록 또는 요소의 변형(모양, 상태, 동작)

참고자료 : https://en.bem.info/

BEM의 특징

의미론 적 클래스 선택자 다른 형식의 선택자 사용 제한 전역에서 유일한 이름 권장 낮은 선택자 특이성 유지 HTML/CSS 연결이 느슨. 병렬 개발 가능

참고자료 : https://naradesign.github.io/bem-by-example.html

BEM의 명명규칙

2개의 언더바(__)는 하위 요소 를 의미 2개의 하이픈(–)은 상태 변형 을 의미 하나의 이름에 요소, 변형 은 각 한 번 만 허용

.block {} .block__element {} .block__element–modifier {} .block-modifier {}

BEM의 선택 사항

어떤 네이밍을 사용해도 상관은 없다. 각자의 스타일에 맡기는 네이밍~

PascalCase : 단어의 앞자리를 대문자로 표기 camelCase : 두번째 단어부터 단어부터 앞자리 대문자로 표기 kebak-case : 단어별 하이픈(-)으로 구분하여 표기 snake_case : 단어별 언더라인(_)으로 구분하여 표기

BEM 응용 예제

아래와 공통으로 사용하는 Black명(Modal, Btn 등) 앞에 프로젝트의 약어를 표기하면 다른 라이브러리(부트스트랩 등)와 공존해서 사용할 수 있다.

//ts는 T-Story의 약어로 사용했다. .tsModal{} .tsModal__title{} .tsBtn{} .tsBtn–small{}

// 단순 블록 O

키워드에 대한 정보 css 네이밍

다음은 Bing에서 css 네이밍 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!)

  • 프론트엔드개발
  • 비전공개발자
  • 비전공프론트엔드개발
  • 주니어프론트엔드개발
  • Frontend Developer
  • 프론트엔드개발취업
  • 개발자취업
  • Web Frontend
  • Frontend
  • 프론트엔드 과외
  • 프론트엔드 개발 공부
  • 김버그
  • 김버그 강의
  • 구름Edu
  • 구름에듀
  • 김버그 HTML 강의
  • 김버그 CSS 강의
  • 김버그 온라인 강의
  • 프론트엔드 개발 인강
  • 프론트엔드 개발자
  • 개발 인강
  • 프론트엔드 개발자 취업
  • 웹 개발자
  • 개발자 과외
  • 개발 공부
  • 개발 독학
  • 프론트엔드 개발 독학
  • 프론트엔드 독학
  • zoom
  • 재택근무
  • 코드 리뷰
  • 코드 상담
  • 깃허브
  • 개발 독학 상담
  • 개발 공부 독학
  • 프론트엔드 코드 리뷰
  • 줌 상담
  • 노마드코더
  • 인프런
  • 인프런 개발 강의
  • 패스트캠퍼스
  • 코드 꿀팁
  • 코드 작성법
  • 코드 잘 짜는 법
  • 개발 잘하는 법
  • 드림코딩 엘리
  • 여성 개발자
  • Prettier
  • 프리티어 설정
  • Prettier 설정

칭찬받는 #코드 #작성법 #(처음 #HTML/CSS #공부하시는 #분들이라면 #꼭꼭 #보세요!)


YouTube에서 css 네이밍 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 칭찬받는 코드 작성법 (처음 HTML/CSS 공부하시는 분들이라면 꼭꼭 보세요!) | css 네이밍, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

See also  이승현 아나운서 인스 타 | 『20200122』 Lee Seunghyun = Announcer For Kbs {+4K 60Fps} 230 개의 자세한 답변

Leave a Reply

Your email address will not be published. Required fields are marked *