본문 바로가기
카테고리 없음

[CSS] pointer-events 속성으로 클릭 가능/불가능 쉽게 제어하기

by 오디와이 2025. 5. 4.

웹페이지를 개발하다 보면 특정 요소에 마우스 클릭이나 터치 이벤트를 막거나, 반대로 이벤트를 다시 활성화하고 싶을 때가 있습니다. 이럴 때 CSS의 pointer-events 속성을 사용하면 아주 간단하게 해결할 수 있어요.

 

pointer-events란?

pointer-events 속성은 HTML 요소에 마우스나 터치 같은 포인터 이벤트의 적용 여부를 설정할 수 있는 CSS 속성입니다. 이 속성을 통해 클릭, 호버 등 이벤트를 받을지 말지를 정할 수 있어요.

주요 속성 값

  • auto: 기본값으로, 요소가 이벤트를 정상적으로 받음
  • none: 요소가 이벤트를 받지 않음. 마치 그 요소가 없는 것처럼 이벤트가 하위 요소로 전달됨

 

간단한 예제

클릭 막기

.no-click {
  pointer-events: none;
}

위와 같이 클래스에 pointer-events: none;을 주면 해당 영역은 클릭, 터치 이벤트를 받지 않게 됩니다.

실제 HTML 적용

<button class="no-click">이 버튼은 클릭이 안 돼요</button>

 

자주 사용하는 상황

  • 팝업 배경을 클릭해도 닫히지 않게 처리할 때
  • 이미지 슬라이드에서 버튼 클릭 막기
  • 레이어 위쪽에 요소를 띄우면서 아래 클릭 유지

 

💡 추가 팁: 하위 요소에 이벤트 전달

pointer-events: none;을 설정하면 해당 요소는 이벤트를 받지 않지만, 아래에 위치한 요소에는 이벤트가 전달돼요.

이를 활용해 투명 오버레이 UI를 만들거나 이미지 위에 설명 텍스트만 띄우고 클릭은 이미지에 전달하는 방식으로도 활용할 수 있습니다.

📌 실습용 코드펜

아래 링크에서 직접 실습해보세요!

👉 CodePen 실습 바로가기

 

마무리

간단하지만 웹 인터페이스 제작 시 매우 유용하게 쓸 수 있는 pointer-events 속성! 오늘부터 실전 개발에서 꼭 활용해보세요.

추천 키워드: CSS pointer-events, 클릭 막기, 웹 이벤트 비활성화, 마우스 이벤트 제어