pointer-events

요소가 마우스/터치 이벤트에 반응할지 여부를 제어합니다. pen을 적용하면 요소가 마우스에 "투명"해져 클릭이 아래 요소로 통과합니다.

클래스 목록

클래스CSS설명
penpointer-events: none마우스/터치 이벤트 차단. 클릭이 아래 요소로 통과
peapointer-events: auto마우스/터치 이벤트 활성화. 부모의 pen을 자식에서 해제

시각적 비교

각 버튼을 클릭해 보세요. pen이 적용된 버튼은 클릭에 반응하지 않습니다.

pointer-events: auto — pea

마우스 이벤트가 정상 작동합니다

pointer-events: none — pen

마우스 이벤트가 차단됩니다. 커서도 변경되지 않음

클릭 통과 (Click-through)

pen의 핵심 기능은 클릭이 아래 요소로 통과하는 것입니다. 오버레이, 장식 요소, 워터마크 등에 활용합니다.

<!-- 클릭 통과 오버레이 -->
<div class="pr">
  <button class="cp py12px px2rem bg6366F1 cFFFFFF br8px bn">
    아래에 있는 버튼
  </button>
  <!-- 오버레이: pen으로 클릭이 아래 버튼으로 통과 -->
  <div class="pa t0 l0 w100p h100p pen bg0-0-0-30">
    <span class="cFFFFFF o50">OVERLAY</span>
  </div>
</div>

<!-- 그라데이션 커버 -->
<div class="pr">
  <div class="p2rem">스크롤 가능한 콘텐츠</div>
  <div class="pa b0 l0 w100p h5rem pen"></div>
</div>

클릭 통과 데모

OVERLAY

반투명 오버레이에 pen이 적용되어 아래 버튼을 클릭할 수 있습니다

클래스별 상세

penpointer-events: none

요소를 마우스/터치 이벤트에 "투명"하게 만듭니다. 클릭, 호버, 커서 변경이 모두 무시되며 이벤트가 아래 요소로 통과합니다. 비활성 상태, 로딩 중 상태, 클릭 통과가 필요한 오버레이에 사용합니다.

<!-- 비활성 버튼 -->
<button class="pen o50 py12px px2rem bg6366F1 cFFFFFF br8px bn">
  클릭 불가
</button>

<!-- 로딩 중 폼 비활성화 -->
<form class="pen o50 df fdc gap12px">
  <input type="text" placeholder="이름" />
  <input type="email" placeholder="이메일" />
  <button>제출 중...</button>
</form>

<!-- 조건부 비활성화 (Vue) -->
<button :class="isLoading ? 'pen o50' : 'cp'" class="py12px px2rem bg6366F1 cFFFFFF br8px bn">
  {{ isLoading ? '처리 중...' : '제출' }}
</button>

자주 쓰는 조합

pen o50이벤트 차단 + 반투명 (비활성 상태)
pen usn이벤트 차단 + 선택 차단 (완전 비활성)
pen pa t0 l0 w100p h100p클릭 통과 오버레이

주의

pen은 시각적 비활성이 아닌 이벤트 비활성입니다. 스타일은 그대로 유지되므로 비활성 상태를 나타내려면 o50 등으로 시각적 피드백을 함께 제공하세요.

peapointer-events: auto

마우스/터치 이벤트를 다시 활성화합니다. 부모에 pen이 설정된 경우, 특정 자식 요소에서 이벤트를 다시 받을 수 있도록 할 때 사용합니다.

<!-- 부모는 이벤트 차단, 특정 자식만 활성화 -->
<div class="pen o50 p2rem bg18181B br8px">
  <p class="cFAFAFA mb12px">이 영역은 클릭 불가</p>
  <button class="pea o100 cp py8px px16px bg6366F1 cFFFFFF br4px bn">
    이 버튼만 클릭 가능
  </button>
</div>

pen vs disabled 비교

pen과 HTML disabled 속성은 모두 클릭을 차단하지만 동작이 다릅니다.

pendisabled
적용 대상모든 HTML 요소폼 요소 (button, input 등)
마우스 이벤트차단 (클릭 통과)차단
키보드 접근가능 (Tab 포커스)차단 (Tab 건너뜀)
폼 제출값이 전송됨값이 전송되지 않음
:hover 스타일적용 안 됨적용 안 됨
접근성스크린리더에서 읽힘스크린리더에서 비활성 상태로 읽힘

팁 & 주의사항

오버레이 클릭 통과

장식용 오버레이, 워터마크, 그라데이션 커버 등에 pen을 적용하면 아래 요소의 클릭이 정상 작동합니다.

로딩/비활성 상태에 활용

폼 제출 중이나 데이터 로딩 중에 pen o50 조합으로 시각적+기능적 비활성 상태를 만들 수 있습니다.

키보드 접근은 차단하지 않음

pen은 마우스/터치만 차단합니다. 키보드 Tab 키로 포커스가 여전히 가능하므로, 완전한 비활성화가 필요하면 HTML disabled 속성을 사용하세요.