테스트 사이트 - 개발 중인 베타 버전입니다

css 클래스 문의요.. 점붙인것과 띈것 차이가 있나요? 채택완료

김준수사랑 7개월 전 조회 3,272

.gnb.logo{...}

.gnb .logo{...}

 

위에거는 붙였고 아래것은 한칸 띄웠는데 명확한 차이가 있는건가요?

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
7개월 전

.logo {} /* class="logo" 인 요소를 선택 */

 

.gnb .logo {}        /* .gnb 안에 있는 모든 .logo (후손) */
.gnb > .logo {}      /* .gnb 바로 아래에 있는 .logo (직계 자식) */
.gnb > div.logo {}   /* .gnb 아래 div.logo */

 

.logo + .btn {}      /* .logo 바로 뒤에 오는 형제 .btn */
.logo ~ .btn {}      /* .logo 뒤에 오는 모든 형제 .btn */

 

div.logo {}           /* div이면서 클래스가 logo */
.gnb.logo {}          /* gnb와 logo 클래스를 둘 다 가진 요소 */
.gnb .logo.btn {}     /* .gnb 내부의 .logo.btn */

 

[class="logo"] {}       /* 정확히 class="logo" */
[class~="logo"] {}      /* 공백 기준으로 logo 포함 */
[class^="logo"] {}      /* logo로 시작 */
[class$="logo"] {}      /* logo로 끝남 */
[class*="logo"] {}      /* logo를 포함 */

 

.logo:hover {}          /* 마우스를 올렸을 때 */
.logo:active {}         /* 클릭하고 있을 때 */
.logo:focus {}          /* 포커스 상태일 때 */
.logo:first-child {}    /* 부모의 첫 자식 */
.logo:last-child {}     /* 부모의 마지막 자식 */
.logo:nth-child(2) {}   /* 두 번째 자식 */
.logo:not(.main) {}     /* .main 클래스가 아닌 .logo */

 

이정도만 알아도 css 선택자 부분은 거의 다 대응 가능합니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

s
sinbi Expert
7개월 전
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7개월 전

네 차이가 있습니다.

윗에껀 class="gnb logo" 이렇게 둘다 있어야 하고 

아래껀 gnb 자식 logo 클래스에 적용됩니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

김준수사랑
7개월 전
.gnb .logo{...} 저 그럼 이렇게 한칸띈것을
.gnb > .logo{...} 쓰는거랑은 또 다른건가요?
c
coDribble
7개월 전
@김준수사랑 https://opentutorials.org/course/2418/13348

이걸 공부하시면 될 것 같습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인