본문 바로가기

Programming/함께 하는 기초코딩

기초코딩 - CSS의 기초 (Combinators 에 대해) - 2편

지난 글에 이어 CSS에 대해

알려드리도록 하겠습니다.

 

저번 글에서는

Combinators

자손 선택자

descendant Selector

에 대해 알려드렸는데요.

 

만약 기억이 잘 나지 않으시거나

혹시 모르시는 분들은 

밑에 글을 참고해주세요.

tm-csc.tistory.com/1186

 

기초코딩 - CSS의 기초 (Combinators 에 대해) - 1편

지난 글에 이어 CSS에 대해 알려드리도록 하겠습니다. 저번 글에서는 조금 다른 선택법 Pseudo Selectors를 알려드렸는데요. 만약 기억이 잘 나지 않으시거나 혹시 모르시는 분들은 밑에 글을 참고해

tm-csc.tistory.com

 

이번 글에서는 나머지

Combinators에 대해

알려드리겠습니다.

 

지난 글에 이어서

설명드리기 위해 

일단 VSC를 실행해주세요.

 

 

이렇게 적혀있던 

절대 좋은 해결방법은

아닙니다.

 

그렇기 때문에 

div 밑의 자식에서 

span을 찾아서 

text-decoration:underline

을 주는 방법이 더 낫습니다.

 

하지만 div 안에는

span과 p안에 들어있는

span 두 가지가 있는데요.

 

이때 바로 직계 자식에게만

즉 div바로 밑에 있는

span만을 선택할 수 있습니다.

 

 

바로 이렇게

 

div> span {

text-decoration: underline;

}

 

>를 적어줌으로써

바로 밑의 span만을

선택할 수 있게 됩니다.

 

크롬으로 확인해보면

 

 

이렇게 원하는 span만

밑줄이 그어지도록

스타일이 변경된 것을

확인할 수 있습니다.

 

또한 이렇게

p와 span의 위치가

변경된다고 하더라도

 

위치만 이동됐을 뿐

스타일의 그대로라는 것 또한

확인할 수 있습니다.

 

이러한 combinators

자식 선택자

(child selector) ( > )

라고 얘기합니다.

 

 

하지만 이런 식으로

div 안에도 span이 여러 개

있다면 하나의 span만을

선택하기 어려울 텐데요.

 

이럴 때는 p 다음에 오는

span을 선택하게 할 수 있습니다.

 

바로 이렇게

 

p + span {

text-decoration: underline;

}

 

+ 를 적어줌으로써

다음에 오는 span만

선택할 수 있게 됩니다.

 

크롬으로 확인해보면

 

 

이렇게 P 다음에 오는

span만이 스타일이 

변경된 것을 확인할 수 있죠.

 

이러한 combinators

인접 형제 선택자

(adjacent sibling selector) ( + )

라고 얘기합니다.

 

 

하지만 이렇게 P와

span사이에 무언가 

생기게 된다면

해당 태그는 정상 작동하지

않습니다.

 

하지만 그럴 때는 

바로 이렇게

 

p ~ span {

text-decoration: underline;

}

 

~ 를 적어줌으로써

이후에 오는 모든 span

선택할 수 있게 됩니다.

 

크롬으로 확인해보면

 

 

전과 같이 잘 작동하는 

것을 확인할 수 있습니다.

 

이러한 combinators

일반 형제 선택자

(general sibling selector) ( ~ )

라고 얘기합니다.

 

이렇게 CSS 존재하는 

네 가지의 combinators

에 대해 알려드렸습니다.

 

물론 ID를 주고 CLASS를

부여하여 스타일을 변경해도 되지만

굳이 HTML과 CSS를 

왔다 갔다 하지 않으면서도 

CSS만으로도 특정 태그를

선택하여 스타일은 변경할 수 

있다는 점 꼭 알아두셨으면 좋겠습니다.

 

생각보다 상당히 자주 쓰는 

태그이기도 하고요.

 

여기까지 궁금하신 점이 있다면

댓글에 남겨주시고

공감구독도 부탁드립니다.