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

[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>

 

결과보기

 


분류 제목
css CSS - 이미지 세로 나열 (= 수직 정렬) 방법/경우/원인/이유
flex CSS - order 속성(I) - 아이템 순서 재조정 (= order속성 = 오더속성, IE11) ※ 플렉…
func CSS - rgb() 함수 - (빨강,녹색,파랑)으로 색상 정의. (= rgb함수 = 알지비함수)
list CSS - list-style 속성 ★ - 리스트 스타일 일괄 (= 리스트마커 = list-style속성 =…
func CSS - rgba() 함수 ★ - (빨강,녹색,파랑,불투명도)으로 색상 정의. (= rgba함수 = 알지비…
intro CSS - 정의・장점・구문・초기화 + 주석
animation CSS - animation-duration 속성 - 애니지속시간 (= 애니완료소요시간 = 움직임완료소요시간…
func CSS - hsla() 함수 - (색조, 채도, 밝기, 불투명도)로 색상 정의. (= hsla함수 = 에이치…
css CSS - 블럭요소 수직중앙정렬/수평중앙정렬 (= 가로가운데정렬) (IE9) ★★★★★ (HT - Cent…
css CSS - zoom 속성 - 요소 확대 (= zoom속성 = 줌속성) ※ IE 하위 브라우저(예: IE6, …
flex CSS - align-self 속성(I) ★ - 교차축 기준으로, 아이템 자체 정렬. (= align-sel…
transform CSS - transform 속성 ★ - 요소 (회전/비틀기/크기확대) 변환 + 마우스 허버 시 줌효과 (=…
selector CSS - ::after 가상선택자 ★ - 요소 뒤에 내용삽입 (= ::after선택자 = 에프터선택자/애프…
text CSS - text-emphasis 속성 - 텍스트 강조마크의 '모먕/색깔' 일괄 지정 (= 텍스트 글자 위…
box CSS - margin-top 속성 - 바깥여백상단 (= margin-top속성 = 마진탑속성 = 마진톱속성…
responsive CSS - RES Video - (반응형 동영상)
selector CSS - element~element 형제선택자 ★★ - 지정요소 뒤의 모든 특정형제요소 (요소선택자군…
border CSS - border-top 속성 - 테두리상단일괄 (= border-top속성 = 보더탑속성 / 보더톱속…
table CSS - table-layout 속성 ★★★ - 테이블 셀, 행 및 열을 레이아웃 (= table-layo…
border CSS - border-style 속성 ★ - 테두리모양일괄 (= border-style속성 = 보더스타일속…
21/27
목록
찾아주셔서 감사합니다. Since 2012