• 회원가입
  • 로그인
  • 구글아이디로 로그인

[selector] CSS - :has() 가상선택자 - 지정 요소 갖는 모든 요소 선택. (= :has선택자 = 해즈선택자)

목차

  1. :has() 예제 - 지정요소 갖는 모든 요소 선택
  2. :has() 정의
  3. :has() 구문
  4. :has() 예제 - 1차 메뉴 허버 시 2차 서브메뉴 전체 보이기
  5. :has() 예제 - 지정요소 바로 앞의 형제요소 선택

 

:has() 예제 - 지정요소 갖는 모든 요소 선택

 

자식 요소로 img 갖는 모든 a 태그.

a:has(> img)

 

바로 뒤에 p 요소가 있는 모든 h1 태그

h1:has(+ p)

 

 

:has() 정의

 

내부에 지정 요소 갖는 모든 요소 선택. (아직 지원 X)

 


 

1.

  • jQuery의 :has() 대응해 도입 예정인 CSS 가상클래스.
  • :has(+ 지정선택자) - 지정선택자 바로 앞의 형제요소 선택.

 

2

IE 제외한 주요 최신 브라우저 모두 지원.

 

3. MDN :has() 예제 보기
https://developer.mozilla.org/en-US/docs/Web/CSS/:has

 

 

:has() 구문

 

:has(selector)

 


[매개변수]

 

selector

필수. 지정 선택자. (※ 모든 요소 가능)

 

 

:has() 예제 - 1차 메뉴 허버 시 2차 서브메뉴 전체 보이기

 

<style>

ul.dropdown {

    display: flex;

    padding: 0;

    background-color: #ddd;

}

ul.dropdown li {

    list-style-type: none;

    list-style-position: inside;

    flex: 1;

    padding: 0.4em;

    border:1px solid silver;

}

ul.dropdown li ul {

    display: none;

}

/*

ul.dropdown li:hover ul {

    display: inherit;

}

*/

ul.dropdown:has(li:hover) ul {

    display: inherit;

}

</style>


<ul class="dropdown">

          <li> 대메뉴1

                <article>

                    <ul>

                        <li>서브메뉴1</li>

                        <li>서브메뉴2</li>

                        <li>서브메뉴3</li>

                    </ul>

                </article>

          </li>

         <li> 대메뉴2

                <article>

                    <ul>

                        <li>서브메뉴1</li>

                        <li>서브메뉴2</li>

                        <li>서브메뉴3</li>

                    </ul>

                </article>

          </li>

          <li> 대메뉴3

                <article>

                    <ul>

                        <li>서브메뉴1</li>

                        <li>서브메뉴2</li>

                        <li>서브메뉴3</li>

                    </ul>

                </article>

          </li>

</ul>


결과보기

배르만 님 (241231) https://sir.kr/qa/549654

 

:has() 예제 - 지정요소 바로 앞의 형제요소 선택

(예) .hz 클래스 갖은 요소의 바로 앞 div 요소 선택.

 

<style>

:has(+ .hz) {color: red;}

.hz {color:green;}

.hz+div {color:blue;}
</style>

<div>홈짱닷컴</div>

<div class="hz">Homzzang.com</div>

<div>홈페이지 제작관리</div>

 

결과보기

 


분류 제목
text CSS - writing-mode 속성 - 텍스트 방향 가로/세로 제어. (= 글쓰기 방향 = 쓰기 모드 제…
css CSS - pointer-events 속성 - 마우스이벤트에 대한 반응 여부 (= pointer-events…
css CSS - hanging-punctuation 속성 - 문장부호 위치 지정 (= hanging-punctua…
css CSS - 자식요소 앞에 순번 붙이기 (= 번호 매기기 = 색인번호 추가 = 요소 카운팅)
selector CSS - :indeterminate 선택자 - 불확정요소 선택 (= :indeterminate선택자 = 인…
css CSS - 구글 로그인 포커스 애니 효과 (Google Logn Foucs Animation Effect) …
selector CSS - :placeholder-shown 선택자 - 플레이스홀더 텍스트 표시 중인 요소 선택 (= :pl…
css CSS - 이미지 세로 나열 (= 수직 정렬) 방법/경우/원인/이유
selector CSS - ::-webkit-scrollbar - 스크롤바 선택자 (= 스크롤바 모양 디자인 커스텀 = Cu…
box CSS - block-size 속성 - 블락 방향으로 요소 크기 지정 (= block-size속성 = 블락…
box CSS - inline-size 속성 - 인라인방향으로 요소 크기 지정 (= inline-size속성 = 인…
text CSS - overflow-wrap 속성 - 줄바꿈 위해 단어 쪼개기 (= overflow-wrap속성 = …
background CSS - Multi Background 구문 - 한번에 여러 배경 속성값 사용
selector CSS - ::placeholder 선택자 - 플레이스홀더 선택자
css CSS - 인스타그램(instagram) 배경색 효과
css CSS - currentcolor 키워드 - 현재 글자색 속성값을 그대로 사용 (= 커런트컬러 속성값)
image CSS - object-fit 속성 - 컨테이너에 맞게 '이미지/비디오' 크기 조정 방법 지정 (= obje…
image CSS - object-position 속성 - <img>/<video>가 "자체 콘텐츠 상자" 내부의 x/…
css CSS - 코드펜 스타트 코딩 버튼 테두리 효과 (Codepen Start Coding Button Bord…
css CSS - translate 속성 - 2D/3D 상 요소 위치 좌표 변경 지정 (= translate속성 =…
16/25
목록
찾아주셔서 감사합니다. Since 2012