หากคุณต้องการให้เป็น 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