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

[selector] CSS - Pseudo Class + Pseudo Element - (가상클래스 + 가상요소) = 가상선택자 종류 ※ 가상요소에 링크걸기

목차
  1. 가상클래스 (Pseudo Class) - 콜론 1개 사용
  2. 가상요소 (Pseudo Element) - 콜론 2개 사용
  3. 가상요소에만 링크걸기

 

가상클래스 (Pseudo Class) - 콜론 1개 사용

Selector 예제 예제 설명
:active a:active 활성화된 링크 선택.
:checked input:checked 모든 체크된 <input> 요소 선택.
:disabled input:disabled 모든 작동차단된 <input> 요소 선택.
:empty p:empty 자식요소 없는 모든 <p> 요소 선택.
:enabled input:enabled 모든 작동가능한 <input>요소 선택.
:first-child p:first-child 그 부모의 첫번째 자식인 모든 <p> 요소 선택.
:first-of-type p:first-of-type 그 부모의 첫번째 <p> 요소인 모든 <p> 요소 선택.
:focus input:focus 포커스 갖는 (=현재, 커서 위치한) <input> 요소 선택.
:hover a:hover 마우스커서가 위에 올려진 링크 선택.
:in-range input:in-range 지정범위안 값을 갖는 <input> 요소들 선택.
:invalid input:invalid 유효하지 않는 값을 갖는 모든 <input> 요소 선택.
:lang(language) p:lang(ko) "ko"로 시작하는 lang 속성값 갖는 모든 <p> 요소 선택.
:last-child p:last-child 그 부모의 마지막 자식인 모든 <p> 요소 선택.
:last-of-type p:last-of-type 그 부모의 마지막 <p> 요소인 모든 <p> 요소 선택.
:link a:link 모든 미방문 링크 선택.
:not(selector) :not(p) <p> 요소가 아닌 모든 요소 선택.
:nth-child(n) p:nth-child(2) 그 부모의 2번째 자식인 모든 <p> 요소 선택.
:nth-last-child(n) p:nth-last-child(2) 그 부모의 마지막에서 2번째 자식인 모든 <p> 요소 선택.
:nth-last-of-type(n) p:nth-last-of-type(2) 그 부모의 마지막에서 2번째 <p>요소인 모든 <p> 요소 선택.
:nth-of-type(n) p:nth-of-type(2) 그 부모의 2번째 <p> 요소인 모든 <p> 요소 선택.
:only-of-type p:only-of-type 그 부모의 유일한 <p> 요소인 모든 <p> 요소 선택.
:only-child p:only-child 그 부모의 유일한 자식인 모든 <p> 요소 선택.
:optional input:optional required 속성 안 갖는 <input> 요소 선택.
:out-of-range input:out-of-range 지정범위밖 값을 갖는 <input> 요소 선택.
:read-only input:read-only "readonly" 속성 지정된 <input> 요소 선택.
:read-write input:read-write readonly 속성 안 갖는 <input> 요소 선택.
:required input:required required 속성 지정된 <input> 요소 선택.
:root root 웹문서의 root 요소 선택.
:target #news:target 해당 앵커 이름 포함 URL 클릭해
현재 활성화가 된 #hz 요소 선택.
(= 내부링크목적지요소 선택)
:valid input:valid 유효한 값 갖는 모든 <input> 요소 선택.
:visited a:visited 이미 방문한 모든 링크 선택.

PS. 가상클래스 개념

  • 특정 상태 표시에 사용. 즉, 특정 사용자 행동이나 요소의 상태에 따라 스타일 적용. 
  • 주로 사용자 상호작용이나 요소의 상태 변화에 반응해 스타일을 변경하는 데 사용. 

 

가상요소 (Pseudo Element) - 콜론 2개 사용

Selector 예제 예제 의미
::after p::after 모든 <p> 요소 뒤에 내용 삽입.
::before p::before 모든 <p> 요소 앞에 내용 삽입.
::first-letter p::first-letter 모든 <p> 요소의 첫번째 글자 선택.
::first-line p::first-line 모든 <p> 요소의 첫번째 라인 선택.
::selection p::selection 사용자 선택요소.

PS. 가상요소 개념

  • 실제 DOM 요소를 생성하지 않고, 기존 요소의 일부분에 스타일 적용하는 데 사용. 
  • 주로 요소의 앞이나 뒤에 콘텐츠를 추가하거나, 요소의 일부를 스타일링할 때 사용. 

 

가상요소에만 링크걸기

※ 가상요소는 DOM이 아니라서 일반적인 방법으로는 링크 걸기 불가능.

 

<script src="https://code.jquery.com/jquery-latest.js"></script>

<style>

#hz {

  display:inline-block;

  border:1px solid red;

  position: relative;

  pointer-events: none;

}

 

#hz:after {

  content: 'Homzzang.com';

  position: absolute;

  pointer-events: all;

  border:1px solid blue;

  margin-left:10px;

}

</style>

<div id="hz">홈짱닷컴</div>

 

<script>

let hz = document.querySelector('#hz');

hz.addEventListener('click', e => top.location.href="https://homzzang.com");

</script>

 

결과보기


PS. 가상요소 클릭 시, 본래 요소에 내용 추가

 

hz.addEventListener('click', e => e.target.innerText += `입력할 내용`);

 

바람처럼나 님 (210103) https://sunshine7e7.tistory.com/32 


분류 제목
css CSS - unset 속성값 - 상속값 존재 유무에 따라, inherit・initial 속성값 사용. (= …
selector CSS - [attribute^=value] 속성선택자 ★ - 지정 속성값 문자열로 시작하는 요소. (=시…
responsive CSS - RES Grid-View - (그리드뷰 = 화면너비분할 = 화면분할 = 수동그리드)
border CSS - border-bottom-width 속성 - 테두리하단너비 (= 테두리하단두께 = border-b…
selector CSS - [attribute~=value] 속성선택자 - 특정 속성값단어 (단독 또는 단어앞뒤공백)인 요소…
selector CSS - [attribute$=value] 속성선택자 - 지정 속성값 문자열로 끝나는 요소 (IE7)
selector CSS - :placeholder-shown 가상선택자 - 플레이스홀더 텍스트 표시 중인 요소 선택 (= :…
gradient CSS - linear-gradient() 함수 ★ - 선형 그레이디언트 배경이미지 (= 선형 그라디언트 …
border CSS - border-right-style 속성 - 테두리우측모양 (= border-right-style속…
border CSS - border-top-left-radius 속성 - 테두리상단왼쪽둥글기 지정 (= 보더탑레프트레이디…
selector CSS - :only-child 가상선택자 - 그 부모의 유일자식요소 (유일선택자, IE9)
shadow CSS - box-shadow 속성 - 요소 그림자 효과 주기 (= box-shadow속성 = 박스섀도속성)…
flex CSS - FlexBox (플렉스박스) 소개 ★★★ - 새로운 반응형 레이아웃 모델 ※ (가로/세로) (기본…
flex CSS - flex-basis 속성(I) ★ - 아이템 초기 길이 (= 아이템너비 = flex-basis속성…
column CSS - column-span 속성 - 컬럼 병합 여부 지정 (= 컬럼병합 = 컬럼확장 = column-s…
transform CSS - perspective 속성 - 3D요소의 원근 조망. (= perspective속성 = 퍼스펙티브…
text CSS - text-transform 속성 - 텍스트 대소문자 변환 (= text-transform속성 = …
transform CSS - transform-origin 속성 - 변형요소 위치 변경. ( = transform-origin…
box CSS - padding-right 속성 - 안쪽여백우측 (= padding-right속성 = 패딩라이트속…
gradient CSS - radial-gradient() 함수 ★ - 방사형 그레이디언트 배경이미지 (= 방사형 그라디언트…
17/27
목록
찾아주셔서 감사합니다. Since 2012