이 글은 주로 css3 포인터 이벤트를 소개하고 있는데, 편집자는 꽤 좋다고 생각해서 지금부터 공유하고 참고하겠습니다. 에디터를 따라가며 함께 살펴볼까요
포인터 이벤트란 무엇인가요?
이름에서 알 수 있듯이 포인터 이벤트는 HTML 포인터 이벤트에 사용되는 속성입니다.
pointer-events는 hover/focus/active 및 기타 HTML 요소의 동적 효과를 비활성화할 수 있습니다.
기본값은 auto입니다. 구문은 다음과 같습니다.
pointer-events: auto | none | visiblefill | visible | | 채우기 | 스트로크 | 모두;
우리는 일반적으로 auto | none 속성을 사용합니다. 다른 속성은 SVG 요소에만 적용 가능합니다. auto: 포인터 이벤트를 사용할 수 있습니다.
none: 포인터 이벤트를 비활성화합니다. 포인터가 비활성화된 요소에 하위/상위 요소가 있는 경우 시간 버블링/캡처 단계 중에 해당 하위/상위 요소에서 이벤트가 트리거됩니다.
일반적인 시나리오
1. 라벨 이벤트 효과 비활성화탭 전환 시 현재 항목이 선택되면 현재 탭의 이벤트가 비활성화됩니다. 다른 탭을 전환할 때만 새 데이터가 다시 요청됩니다.<!--CSS--> <style> .active{ pointer-events: none; } </style> <!--HTML--> <ul> <li><a class="tab"></a></li> <li><a class="tab active"></a></li> <li><a class="tab"></a></li> </ul>
2. 버튼 상태 전환
제출 버튼을 클릭할 때 사용자가 항상 버튼을 클릭하여 요청을 보내는 것을 방지하기 위해 요청이 결과를 반환하지 않는 경우, 방지하기 위해 포인터 이벤트 추가: 버튼에 없음 이 상황은 비즈니스에서 매우 일반적입니다.
<!--CSS--> .j-pro{ pointer-events: none; } <!--HTML--> <button r-model={this.submit()} r-class={{"j-pro": flag}}>提交</button> <!--JS--> submit: function(){ this.data.flag = true; this.$request(url, { // ... onload: function(json){ if(json.retCode == 200){ this.data.flag = false; } }.bind(this) // ... }); }
3. 투명 요소와 클릭 가능한 요소가 겹쳐서 클릭이 되지 않도록 방지
일부 콘텐츠의 표시 영역에서 멋진 CSS 효과를 얻기 위해 요소 위에 다른 요소가 있을 때 아래 요소의 이벤트에 영향을 주지 않도록 해당 요소에 포인터 이벤트를 추가하면 문제가 해결될 수 있습니다.
<!--CSS--> .layer{ backround: linear-gradient(180deg, #fff, transparent); } .j-pro{ poninter-events: none; } <!--HTML--> <ul> <li class="layer j-pro"></li> <li class="item"></li> <li class="item"></li> <li class="item"></li> </ul>폰이벤트 간 호환성
위 내용은 CSS3 포인터 이벤트 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!