CSS 만 사용하려면 CSS에서 비활성화 논리를 정의해야합니다.
CSS 정의에서 논리를 이동하려면 속성 선택기를 사용해야합니다. 여기 몇 가지 예가 있어요 :
정확한 href가있는 링크를 비활성화하십시오. =
다음과 같이 특정 href 값을 포함하는 링크를 비활성화하도록 선택할 수 있습니다.
<a href="//website.com/exact/path">Exact path</a>
[href="https://stackoverflow.com//website.com/exact/path"]{
pointer-events: none;
}
경로가 포함 된 링크를 비활성화합니다 : *=
여기 /keyword/
에 경로에 포함 된 모든 링크 가 비활성화됩니다
<a href="//website.com/keyword/in/path">Contains in path</a>
[href*="/keyword/"]{
pointer-events: none;
}
다음으로 시작하는 링크를 비활성화하십시오. ^=
[attribute^=value]
조작 대상 특정 값으로 시작하는 속성. 웹 사이트 및 루트 경로를 버릴 수 있습니다.
<a href="//website.com/begins/with/path">Begins with path</a>
[href^="//website.com/begins/with"]{
pointer-events: none;
}
비 https 링크를 비활성화하는 데 사용할 수도 있습니다. 예를 들면 다음과 같습니다.
a:not([href^="https://"]){
pointer-events: none;
}
다음으로 끝나는 링크를 비활성화하십시오. $=
[attribute$=value]
연산자 특성 타겟팅 특정 값으로 끝난다. 파일 확장자를 버리는 것이 유용 할 수 있습니다.
<a href="/path/to/file.pdf">Link to pdf</a>
[href$=".pdf"]{
pointer-events: none;
}
또는 다른 속성
CSS는 모든 HTML 속성을 대상으로 할 수 있습니다. 될 수 있을까 rel
, target
, data-custom
등등 그리고 ...
<a href="#" target="_blank">Blank link</a>
[target=_blank]{
pointer-events: none;
}
속성 선택기 결합
여러 규칙을 연결할 수 있습니다. 모든 외부 링크를 비활성화하고 웹 사이트를 가리키는 링크는 비활성화하고 싶다고 가정 해 봅시다.
a[href*="//"]:not([href*="my-website.com"]) {
pointer-events: none;
}
또는 특정 웹 사이트의 pdf 파일에 대한 링크를 비활성화하십시오.
<a href="//website.com/path/to/file.jpg">Link to image</a>
[href^="//website.com"][href$=".jpg"] {
color: red;
}
브라우저 지원
IE7부터 속성 선택기가 지원됩니다. :not()
IE9부터 선택기.