지난 글에 이어 CSS에 대해
알려드리도록 하겠습니다.
저번 글에서는
Combinators 중
자손 선택자
descendant Selector
에 대해 알려드렸는데요.
만약 기억이 잘 나지 않으시거나
혹시 모르시는 분들은
밑에 글을 참고해주세요.
이번 글에서는 나머지
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만으로도 특정 태그를
선택하여 스타일은 변경할 수
있다는 점 꼭 알아두셨으면 좋겠습니다.
생각보다 상당히 자주 쓰는
태그이기도 하고요.
여기까지 궁금하신 점이 있다면
댓글에 남겨주시고
공감과 구독도 부탁드립니다.