ในการออกแบบฟอร์มเว็บ การตรวจสอบอินพุตเป็นลิงก์สำคัญเพื่อให้แน่ใจว่าผู้ใช้ส่งข้อมูลที่ถูกต้อง HTML5 แนะนำแอตทริบิวต์ min
และ max
ขององค์ประกอบ <input>
ทำให้สามารถจำกัดช่วงของการป้อนตัวเลขที่ส่วนหน้าได้ CSS3 ขยายฟังก์ชันการทำงานนี้เพิ่มเติมโดยอนุญาตให้นักพัฒนาให้ข้อเสนอแนะแบบภาพสำหรับอินพุตที่อยู่ภายในหรือภายนอกช่วงที่กำหนดไว้ล่วงหน้าผ่านคลาสหลอก :in-range
และ :out-of-range
บทความนี้จะอธิบายรายละเอียดวิธีใช้คลาสหลอกทั้งสองนี้เพื่อปรับปรุงประสบการณ์ผู้ใช้ในการตรวจสอบอินพุต
เมื่อผู้ใช้กรอกแบบฟอร์ม บางฟิลด์ต้องตรงกับช่วงตัวเลขที่กำหนด ตัวอย่างเช่น อายุไม่สามารถเป็นตัวเลขติดลบได้ และคะแนนการทดสอบควรอยู่ระหว่าง 0 ถึง 100 การตรวจสอบความถูกต้องของช่วงที่เหมาะสมจะแจ้งให้ผู้ใช้ทราบทันทีว่าข้อมูลที่ป้อนนั้นถูกต้องหรือไม่
องค์ประกอบ <input>
ของ HTML5 รองรับแอตทริบิวต์ min
และ max
ช่วยให้นักพัฒนากำหนดค่าต่ำสุดและสูงสุดของฟิลด์อินพุตได้ เมื่อรวมกับ type="number"
หรือ type="range"
คุณสมบัติเหล่านี้สามารถสร้างขอบเขตบนอินพุตตัวเลขได้
ตัวเลือกคลาสหลอก :in-range
ใช้เพื่อเลือกฟิลด์อินพุตที่มีค่าปัจจุบันอยู่ในช่วงที่กำหนดโดยแอตทริบิวต์ min
และ max
ในทางตรงกันข้าม :out-of-range
pseudo-class selector ใช้เพื่อเลือกฟิลด์อินพุตที่มีค่าปัจจุบันอยู่นอกช่วงที่กำหนดโดยแอตทริบิวต์ min
และ max
นี่คือตัวอย่าง HTML และ CSS ที่แสดงวิธีใช้คลาสหลอก :in-range
และ :out-of-range
:
<แบบฟอร์ม> <label for="age">อายุ (0-120):</label> <input type="number" id="age" name="age" min="0" max="120"> <span class="error-message">อายุไม่ถูกต้อง</span> <ประเภทอินพุต = "ส่ง" ค่า = "ส่ง"> </แบบฟอร์ม>
/* รูปแบบการป้อนข้อมูลที่ถูกต้อง*/ อินพุต: อยู่ในช่วง { เส้นขอบ: สีเขียวทึบ 2px; - /* รูปแบบการป้อนข้อมูลไม่ถูกต้อง */ อินพุต: อยู่นอกช่วง { เส้นขอบ: สีแดงทึบ 2px; - /* รูปแบบข้อความแสดงข้อผิดพลาด */ .ข้อความแสดงข้อผิดพลาด { สี: สีแดง; จอแสดงผล: ไม่มี; - อินพุต: อยู่นอกช่วง + .error-message { จอแสดงผล: บล็อก; -
ด้วยการตั้งค่าสีเส้นขอบหรือสีพื้นหลังที่แตกต่างกันสำหรับอินพุตที่ถูกต้องและไม่ถูกต้อง คุณสามารถช่วยให้ผู้ใช้มองเห็นได้ว่าอินพุตนั้นตรงตามข้อกำหนดหรือไม่
เมื่อใช้คลาสหลอก :in-range
และ :out-of-range
ตรวจสอบให้แน่ใจว่าสไตล์ทำงานได้ดีเท่ากันในอุปกรณ์และขนาดหน้าจอ เพื่อให้แบบฟอร์มของคุณสอดคล้องและใช้งานได้
นอกจากรูปแบบการมองเห็นแล้ว ยังควรคำนึงถึงความต้องการของผู้ใช้เทคโนโลยีช่วยเหลือด้วย ตัวอย่างเช่น ใช้แอตทริบิวต์ aria-invalid="true"
เพื่อให้บริบทเพิ่มเติมแก่โปรแกรมอ่านหน้าจอ
เมื่อรวมกับคุณสมบัติการตรวจสอบความถูกต้องของแบบฟอร์มของ HTML5 แล้ว :in-range
และ :out-of-range
สามารถใช้ร่วมกับคลาสหลอก :valid
และ :invalid
เพื่อให้การตอบรับด้วยภาพที่สมบูรณ์ยิ่งขึ้นสำหรับการตรวจสอบความถูกต้องของแบบฟอร์ม
คลาสเทียม :in-range
และ :out-of-range
ได้รับการสนับสนุนโดยเบราว์เซอร์สมัยใหม่ส่วนใหญ่ แต่อาจไม่รู้จักในเบราว์เซอร์รุ่นเก่าบางรุ่น สิ่งนี้จะต้องนำมาพิจารณาเมื่อออกแบบ
ในเว็บแอปพลิเคชันจริง คลาสเทียม :in-range
และ :out-of-range
สามารถใช้ในสถานการณ์ที่หลากหลาย รวมถึงแบบฟอร์มการลงทะเบียน แบบฟอร์มเข้าสู่ระบบ แบบฟอร์มการตั้งค่า ฯลฯ
แม้ว่าคลาสเทียมของ CSS สามารถให้การตอบรับด้วยภาพแบบคงที่ได้ แต่การรวมเข้ากับ JavaScript จะสามารถสร้างการโต้ตอบแบบไดนามิกมากขึ้น เช่น การตรวจสอบความถูกต้องทันทีและการตอบรับในขณะที่ผู้ใช้ป้อนข้อมูล
เมื่อออกแบบแบบฟอร์ม ตรวจสอบให้แน่ใจว่าได้ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดในการเข้าถึง เช่น การใช้ป้ายกำกับที่ชัดเจน คอนทราสต์ที่สมเหตุสมผล และการทำเครื่องหมายฟิลด์ที่เหมาะสม
คลาสหลอก :in-range
และ :out-of-range
เป็นเครื่องมืออันทรงพลังสองตัวใน CSS ที่สามารถช่วยให้นักพัฒนาปรับปรุงการตอบสนองด้วยภาพสำหรับการตรวจสอบอินพุตและปรับปรุงประสบการณ์ผู้ใช้ จากการแนะนำบทความนี้ คุณควรจะสามารถเข้าใจแนวคิดพื้นฐานและการใช้งานของคลาสหลอกทั้งสองคลาสนี้ และเรียนรู้วิธีนำไปใช้กับการออกแบบเว็บฟอร์มจริง โปรดจำไว้ว่า การออกแบบรูปแบบที่ดีไม่ได้เป็นเพียงการนำฟังก์ชันการทำงานไปใช้เท่านั้น แต่ยังเกี่ยวกับการจัดเตรียมอินเทอร์เฟซที่ชัดเจน ใช้งานง่าย และใช้งานง่ายอีกด้วย
ด้วยการสำรวจการใช้คลาสหลอก :in-range
และ :out-of-range
เพิ่มเติม คุณสามารถสร้างรูปแบบที่สวยงามและใช้งานได้ซึ่งตอบสนองความต้องการของเว็บแอปพลิเคชันสมัยใหม่ ฉันหวังว่าบทความนี้อาจเป็นแหล่งข้อมูลอันมีค่าสำหรับคุณเมื่อใช้ CSS เพื่อปรับปรุงการออกแบบแบบฟอร์มของคุณ
นี่เป็นการสรุปบทความนี้เกี่ยวกับวิธีที่คลาสหลอกของ CSS :in-range และ :out-of-range สามารถปรับปรุงการตอบรับด้วยภาพสำหรับการตรวจสอบความถูกต้องของอินพุตได้อย่างไร โปรดใช้ CSS :in-range และ :out-of-range ที่เกี่ยวข้องเพิ่มเติม ค้นหาบทความก่อนหน้าใน downcodes.com หรือเรียกดูบทความที่เกี่ยวข้องด้านล่างต่อไป ฉันหวังว่าคุณจะสนับสนุน downcodes.com ในอนาคต!