글쎄,이 질문은 여러 번 전에 요청되었으며 일반적인 대답은 다음과 같습니다. 순수한 CSS로는 수행 할 수 없습니다. 그것은 이름입니다 : 캐스 케이 딩 스타일 시트는 뿐만 아니라 최대, 방향을 계단식으로 스타일링을 지원합니다.
그러나 주어진 예에서와 같이이 효과를 원하는 대부분의 상황에서 이러한 계단식 특성을 사용하여 원하는 효과에 도달 할 가능성이 여전히 있습니다. 이 의사 마크 업을 고려하십시오.
<parent>
<sibling></sibling>
<child></child>
</parent>
요령은 형제와 부모에게 같은 크기와 위치를 부여하고 부모 대신 형제를 꾸미는 것입니다. 이것은 부모님의 스타일처럼 보입니다!
자, 형제를 어떻게 스타일링합니까?
아이가 호버링되면 부모도 마찬가지이지만 형제는 그렇지 않습니다. 형제도 마찬가지입니다. 이것으로 형제를 스타일링 할 수있는 세 가지 CSS 선택기 경로가 있습니다.
parent sibling { }
parent sibling:hover { }
parent:hover sibling { }
이러한 다른 경로는 좋은 가능성을 허용합니다. 예를 들어, 질문의 예 에서이 트릭을 공개하면 이 바이올린이 생깁니다 .
div {position: relative}
div:hover {background: salmon}
div p:hover {background: white}
div p {padding-bottom: 26px}
div button {position: absolute; bottom: 0}
분명히, 대부분의 경우이 트릭은 형제와 부모와 같은 크기를 제공하기 위해 절대 위치를 사용하는 것에 달려 있습니다.
트리 메뉴에서 트릭을 여러 번 구현하는 이 바이올린에 표시된 것처럼 특정 요소를 선택하려면 더 한정된 선택기 경로를 사용해야하는 경우가 있습니다 . 정말 좋습니다.