고급 선택자 2탄에서 질문이 있습니다.
275
작성한 질문수 1
안녕하세요!
고급 선택자 2탄 영상의 대략 8분 경에서 [data-tooltip]이 relative가 되서 absolute인 [data-tooltip]:hover::after가 저기에 붙었다고 하셨는데, absolute는 부모 요소 중에 static이 아닌 요소에 붙지 않나요? 그러면 :hover::after처럼 의사요소는 붙은 요소의 자손으로 들어가는 걸까요?
[data-toolip]과 [data-toolip]:hover::after이 동일 선상에 위치(형제 요소)처럼 보이는데 어떻게 그럴 수 있는지 궁금합니다!
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
[data-tooltip]을 사용하는 고급 선택자에 대해서 질문해 주셨군요. 님의 질문을 잘 이해했습니다.
일반적으로 position: absolute; 속성을 가진 요소는 가장 가까운 position 속성이 static이 아닌 조상 요소에 대해 상대적으로 배치됩니다. 그렇기 때문에 상위 요소인 [data-tooltip]이 position: relative;로 설정되어 있으면, 이 요소를 기준으로 하여 absolute인 ::after 의사요소가 위치하게 됩니다.
:hover::after 같은 의사요소는 실제로 부모 요소에 종속되어 있으며, DOM 트리에서 실제 요소처럼 부모의 자식 요소로 동작합니다. 그러나 의사요소가 시각적으로 형제 요소처럼 보일 수 있는 것은 해당 의사요소의 position 속성과 다른 CSS 스타일링 속성들에 의해 위치가 지정되기 때문입니다.
[data-tooltip]과 [data-tooltip]:hover::after가 동일 선상에 나란히 배치되어 보이는 것은 position: absolute;로 설정된 ::after 요소가 [data-tooltip]에 대하여 절대 위치를 차지하기 때문에 가능합니다. ::after 의사요소는 그 자체로 별도의 블록 형태를 가지기 때문에, 시각적으로는 형제 요소처럼 나란히 배치될 수 있는 것입니다.
추가적인 도움이 필요하다면, 질문하신 강의 동영상이나 관련 예제 코드를 보면서 구체적인 상황에서 CSS가 어떻게 적용되는지를 더 자세히 살펴보는 것이 좋겠습니다. 웹 개발 입문 과정을 수강하시면서 이런 부분들을 직접 연습해 보시면 이해에 더 도움이 될 것입니다.
강의자료
0
135
2
button 질문
0
48
2
html설명하실때 접속시는 e북 링크는 어디에 있나요
0
102
1
style 태그를 사용할 때
0
79
1
강의와 제 결과가 달라요
0
87
2
상속과 접근 제어: 부모 & 자식 클래스에서 서로 다른 값 설정시
0
69
1
소스링크가 없습니다!
0
190
2
id 중복으로 해도 문제 없습니다
0
414
2
강의 자료
0
234
2
깃허브 링크 주소
0
339
2
제 vscode가 이상해요
0
278
1
화면 반영 안됨
0
226
1
float속성
0
272
1
html{}
0
341
1
class와 id
0
276
1
제출하기 버튼
0
645
1
a 태그 이용해 이동
0
414
1
비디오태그
0
448
1
<html lang = "ko">
0
831
1
flexbox 부모 요소 이름
0
285
1
제출하기 버튼 코드 2가지 차이
0
432
1
최상위 태그 html 태그
0
427
1
저장시 줄바꿈
0
507
1
ctrl + 방향키
0
744
1





