CSS :focus pseudo-class เลือก element ใน focus state เกิดขึ้นเมื่อคลิก element หรือ select ด้วย tab key :focus วางหลังชื่อ element ที่ต้องการ select
อาจต้องการ apply style ให้ element เฉพาะตอนที่มี focus บน web page เช่น ใส่ border ให้ form field เมื่อ user คลิก
นี่คือที่มาของ CSS :focus pseudo-class :focus ใช้ style เมื่อ user คลิก element หรือ select ด้วย tab keyboard button
บทเรียนนี้อธิบายพื้นฐาน CSS :focus pseudo-class และการใช้งาน พร้อมตัวอย่าง จบแล้วคุณจะเป็น expert ในการใช้ :focus สำหรับ elements ใน focus
CSS Pseudo-Classes
Pseudo-class คือ keyword เพิ่มใน CSS selector ระบุ state ที่ element ควรอยู่เพื่อให้ style ใช้ได้ เพิ่มหลัง selector
Pseudo-classes ให้ตั้ง rules สำหรับ elements ใน special state เช่น focus สำหรับ tutorial นี้ focus ที่ :focus pseudo-class
CSS :focus Pseudo-Class
CSS :focus pseudo-class ใช้ styles กับ element เมื่อ element ได้รับ focus บน web page ถ้า user คลิก หรือ select ด้วย tab key จะกลายเป็น focused element
Syntax ของ :focus pseudo class:
textarea:focus { border: 1px solid blue; }
โค้ดตั้ง solid blue border กว้าง 1 pixel รอบ HTML
Pseudo-class วางหลัง element ที่ต้องการ select ต้องระบุ :focus pseudo-class สำหรับแต่ละ element ใน selector list
พิจารณา syntax:
input, textarea:focus { border: 1px solid blue; }
CSS rule ใช้กับทุก elements และ
Scenario พบบ่อย: style web forms เช่น เปลี่ยน background color ของ form field เมื่อ user คลิก หรือเปลี่ยน border color
:focus CSS Example
ได้รับมอบหมาย design web form field สำหรับเก็บ first name ของ user ตอน form field เข้า focus state ใส่ orange border และเปลี่ยน background color เป็น light gray
โค้ดสำหรับ design form field นี้:
<html> <input class="textField" placeholder="First Name"> <style> .textField:focus { background-color: lightgray; border: 2px solid orange; }
กดปุ่มใน code editor ด้านบนเพื่อดู output
กำหนด HTML field class name textField แสดง placeholder text First Name
ตอน user ย้าย form field เข้า focus CSS properties ใน rule .textField:focus ถูกใช้ ใช้ styles ตั้ง light gray background และ 2px solid orange CSS border
ตอน user ย้าย form field ออกจาก focus styles เหล่านี้ไม่ถูกใช้แล้ว
สรุป
:focus pseudo-class ใช้ style เมื่อ user ย้าย web element เข้า focus บน web page :focus ใช้บ่อยกับ fields ใน form ที่ trigger เมื่อ user ย้าย form field เข้า focus
:focus เป็นหนึ่งในหลาย CSS pseudo-classes เช่น :hover ใช้ pseudo-class โดยระบุชื่อหลัง CSS selector
สนใจเรียน CSS เพิ่ม? ดู How to Learn CSS guide มี tips และ top learning resources