เครื่องมือสร้างฟอร์ม CSS
ฟอร์มถือเป็นส่วนที่ผู้ใช้มีปฏิสัมพันธ์บ่อยที่สุดในเว็บไซต์ส่วนใหญ่ แต่กลับเป็นส่วนที่ได้รับการดูแลด้านการออกแบบน้อยที่สุดในหลายเว็บไซต์ ตัวสร้างนี้จะสร้าง CSS สำหรับฟอร์มที่ออกแบบมาอย่างครบถ้วน: ตารางฟอร์มแบบปรับขนาดได้ (responsive grid), คู่ป้ายกำกับกับช่องป้อนข้อมูล, เขตพิมพ์ข้อความ, ตัวเลือก และสถานะโฟกัสที่มองเห็นได้ชัดเจน ในสไตล์การนำเสนอที่สอดคล้องกัน ตั้งค่าสีหลัก ความโค้งมุม และระยะห่าง จากนั้นคัดลอกสไตล์ชีตไปใช้ได้เลย CSS นี้ยังคงรักษาโครงสร้างพื้นฐานของฟอร์มไว้ ทำให้ระบบตรวจสอบความถูกต้อง การใช้งานผ่านคีย์บอร์ด และเครื่องอ่านหน้าจอทำงานได้ตามปกติ
วิธีใช้งานตัวสร้าง
-
1
ตั้งค่าสีหลัก (accent)
สีหลักกำหนดสีของวงแหวนโฟกัสและสีขอบของทุกฟิลด์
-
2
เลือกความโค้งมุม
ความโค้งมุมมีผลกับช่องป้อนข้อมูล เขตพิมพ์ข้อความ และตัวเลือก เพื่อให้ทุกรายการมีรูปทรงเดียวกัน
-
3
ตั้งค่าระยะห่าง
ระยะห่างควบคุมช่องว่างแนวตั้งระหว่างฟิลด์ในตารางฟอร์ม
-
4
คัดลอก CSS
สไตล์ชีตที่ครบถ้วน พร้อมนำไปวางและปรับแต่งได้ โดยไม่ต้องแก้ไข HTML ของคุณ
แบบฟอร์มพื้นฐาน
<form class="form">
<label class="field">
<span class="field-label">Email</span>
<input type="email" required>
<span class="field-error">Please enter a valid email.</span>
</label>
<label class="field">
<span class="field-label">Password</span>
<input type="password" minlength="8" required>
</label>
<button type="submit" class="button">Sign up</button>
</form>
.field {
display: block;
margin-bottom: 1.25rem;
}
.field-label {
display: block;
font-weight: 500;
margin-bottom: .25rem;
}
.field input {
width: 100%;
padding: .5rem .75rem;
font: inherit;
border: 1px solid #d1d5db;
border-radius: 6px;
background: #fff;
transition: border-color 120ms, box-shadow 120ms;
}
.field input:focus-visible {
outline: none;
border-color: #2563eb;
box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.field input:invalid:not(:placeholder-shown) {
border-color: #dc2626;
}
.field-error { display: none; color: #dc2626; font-size: .875rem; margin-top: .25rem; }
.field input:invalid:not(:placeholder-shown) ~ .field-error { display: block; }
สไตล์ทั่วไป 4 แบบ
| รูปแบบ | คุณสมบัติ | เหมาะสำหรับ |
|---|---|---|
| แบบมีเส้นกรอบ | มีเส้นกรอบรอบช่องป้อนข้อมูล และพื้นหลังโปร่งใส | แบบฟอร์มบนเดสก์ท็อป การจัดวางที่หนาแน่น |
| แบบมีเส้นใต้ | มีเพียงขอบด้านล่างเท่านั้น | UI แบบมินิมอล/สำหรับงานบรรณาธิการ |
| แบบพื้นหลังทึบ | พื้นหลังสีเทา ไม่มีขอบ | UI ที่ได้รับแรงบันดาลใจจาก Material Design |
| ป้ายกำกับลอยตัว | ป้ายติดอยู่ด้านใน และจะเคลื่อนขึ้นด้านบนเมื่อโฟกัสหรือมีการกรอกค่า | เน้นอุปกรณ์เคลื่อนที่เป็นหลัก หน้าแลนดิงเพจ |
แท็กแบบลอยตัว (floating-label) ดูสวยงามที่สุด แต่จำเป็นต้องใช้การเพิ่มโค้ดหรือ JavaScript เพื่อตรวจจับสถานะว่าง ส่วนแท็กแบบเส้นกรอบ (outlined) เป็นตัวเลือกที่ใช้งานได้กว้างขวางที่สุด
รายการตรวจสอบด้านการเข้าถึง (Accessibility)
- ต้องมีป้ายกำกับที่มองเห็นได้สำหรับข้อมูลทุกชุด อย่าใช้สัญลักษณ์แทน (placeholder) เป็นป้ายกำกับเพียงอย่างเดียว เพราะป้ายกำกับดังกล่าวจะหายไปเมื่อเลือกเนื้อหา และทำให้การแยกแยะข้อมูลไม่ชัดเจน
<label for>หรือ<label>แบบห่อ ทั้งสองรูปแบบถือว่าใช้ได้ แต่รูปแบบแบบห่อจะใช้งานง่ายกว่าเล็กน้อย- ตัวบ่งชี้โฟกัส: ห้ามใช้
outline: noneหากไม่มีตัวทดแทน เนื่องจากผู้ใช้คีย์บอร์ดจำเป็นต้องใช้งานฟังก์ชันนี้ - ข้อความแสดงข้อผิดพลาด: ให้เชื่อมโยงไปยังข้อมูลผ่านรหัส
aria-describedbyในส่วนของข้อมูลขาเข้า อย่าใช้เพียงสีเพื่อระบุข้อผิดพลาดเท่านั้น ควรประกอบด้วยข้อความหรือไอคอนประกอบด้วย - ฟิลด์ที่จำเป็น: ใช้แอตทริบิวต์
requiredและเพิ่มเครื่องหมายแสดงตำแหน่ง (เครื่องหมายดอกจัน) ในป้ายชื่อสำหรับผู้ใช้ที่มองเห็นได้ปกติ - ประเภทข้อมูลที่ใช้: ใช้
type="email",type="tel",type="url"และtype="number"โดยคีย์บอร์ดมือถือสามารถปรับใช้งานได้ตามความเหมาะสม - คุณสมบัติของ
autocomplete:autocomplete="email",autocomplete="current-password"และอื่นๆ ช่วยให้ผู้ใช้ประหยัดเวลาในการพิมพ์ได้อย่างมาก
สถานะการตรวจสอบความถูกต้องแบบเนทีฟ
CSS มีคลาสปลอมสำหรับการตรวจสอบความถูกต้องของแบบฟอร์ม:
:required/:optional:valid/:invalid:in-range/:out-of-range(สำหรับการป้อนค่าตัวเลขที่มีค่าขั้นต่ำและสูงสุด):placeholder-shown(ว่าง ตำแหน่งสำหรับใส่ข้อมูลปรากฏให้เห็น):user-invalid(ไม่ถูกต้อง และผู้ใช้ได้มีปฏิสัมพันธ์แล้ว, เหมาะสำหรับรูปแบบข้อผิดพลาด)
คลาสปลอม :user-invalid เป็นวิธีที่เหมาะสมที่สุดในการแสดงข้อผิดพลาดเฉพาะหลังจากที่ผู้ใช้ดำเนินการแล้ว โดยไม่ปรากฏเส้นขอบสีแดงก่อนการโต้ตอบ ฟีเจอร์นี้ได้รับการรองรับในระบบปฏิบัติการหลักทั้งหมดตั้งแต่ปี 2023 เป็นต้นมา
สถานะปิดใช้งาน
.field input:disabled {
background: #f3f4f6;
color: #9ca3af;
cursor: not-allowed;
}
ช่องป้อนข้อมูลที่ถูกปิดใช้งาน (disabled) จะไม่สามารถโฟกัสหรือส่งค่าได้ หากต้องการให้ยังโฟกัสได้เพื่อรองรับเครื่องอ่านหน้าจอ ให้ใช้ readonly แทน, ฟอร์มจะส่งค่าดังกล่าวไป แต่ผู้ใช้ไม่สามารถแก้ไขค่าได้
คำถามที่พบบ่อย
ไม่ควร placeholder จะหายไปทันทีที่ผู้ใช้เริ่มพิมพ์ข้อความ จึงไม่สามารถใช้เป็นป้ายกำกับได้ นอกจากนี้ ข้อความใน placeholder มักมีความคมชัดต่ำ และไม่ผ่านมาตรฐาน WCAG ควรใช้ป้ายกำกับที่มองเห็นได้ชัดเจนร่วมกับ placeholder แบบเลือกใช้เพื่อให้คำแนะนำเกี่ยวกับรูปแบบการกรอก
เนื่องจาก :invalid ใช้ได้ทันทีกับช่องข้อมูลที่ต้องกรอกแต่ยังว่างเปล่า ควรใช้ :user-invalid (ที่รองรับการโต้ตอบระหว่างผู้ใช้) หรือใช้ :invalid:not(:placeholder-shown) ร่วมกันเป็นทางเลือกในเบราว์เซอร์รุ่นเก่า
ตั้งค่า appearance: none ลบลูกศรเริ่มต้นออก จากนั้นเพิ่มลูกศรของคุณเองโดยใช้ภาพพื้นหลัง หรือใช้ลักษณะการล้อมรอบพร้อมลูกศรแบบ pseudo-element รายการตัวเลือกภายในจะยังคงแสดงในรูปแบบตามระบบปฏิบัติการ และไม่สามารถปรับแต่งได้ด้วย CSS
ทั้งสองวิธีนี้ วิธีการตรวจสอบความถูกต้องของ HTML (required, type, pattern) ใช้สำหรับกรณีพื้นฐานที่ไม่ต้องอาศัย JavaScript ในขณะที่ JavaScript ใช้สำหรับกฎที่ซับซ้อน เช่น ความแข็งแกร่งของรหัสผ่าน หรือความสัมพันธ์ระหว่างฟิลด์ต่างๆ นอกจากนี้ควรดำเนินการตรวจสอบความถูกต้องบนเซิร์ฟเวอร์เสมอ เนื่องจากการตรวจสอบบนฝั่งไคลเอนต์มีจุดประสงค์เพื่อประสบการณ์การใช้งาน (UX) มากกว่าด้านความปลอดภัย
เครื่องมือที่เกี่ยวข้อง
ตารางอ้างอิง ASCII
ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL
อ้างอิงตัวอักษร HTML
รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ
ตารางอ้างอิงแป้นพิมพ์ลัด
ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux
ตัวลดรูปพีชคณิตบูลีน
ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^
เครื่องสร้างตัวอักษรสุ่ม
สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน
เครื่องมือตรวจสอบหมายเลขโทรศัพท์
ตรวจสอบโครงสร้างหมายเลขตามประเทศ พร้อมดูภูมิภาค ประเภท และรูปแบบ E.164 ระหว่างประเทศ ในประเทศ และ RFC 3966