เครื่องมือสร้างปุ่ม CSS

ข้อความบนปุ่ม

ข้อความบนปุ่ม

ใส่ป้ายข้อความธรรมดา ข้อความที่ดูเหมือน HTML จะถูกเอสเคปในโค้ดที่สร้าง

สร้างปุ่มพร้อมตรวจดูสถานะปกติ โฮเวอร์ โฟกัสจากแป้นพิมพ์ กำลังกด ปิดใช้งาน และกำลังโหลด เลือกพื้นหลังสีเดียวหรือไล่สองสี รวมทั้งกำหนดเส้นขอบ ระยะห่าง มุมมน เงา และสีของแต่ละสถานะ เครื่องมือจะเอสเคปข้อความปุ่ม เก็บงานออกแบบไว้ในเบราว์เซอร์ และสร้าง HTML ที่มีความหมายพร้อม CSS ที่จำกัดค่าให้อยู่ในช่วงปลอดภัย

วิธีสร้างปุ่ม CSS

  1. 1

    เขียนข้อความบนปุ่ม

    ใส่ข้อความธรรมดาที่ต้องการแสดง อักขระที่ดูเหมือน HTML จะคงเป็นข้อความและไม่ถูกเรียกใช้

  2. 2

    กำหนดรูปแบบพื้นฐาน

    เลือกพื้นหลังสีเดียวหรือไล่สี สีข้อความและเส้นขอบ ขนาด ระยะขอบด้านใน มุมมน และเงา

  3. 3

    กำหนดสถานะการโต้ตอบ

    ตั้งค่าสีและระยะเคลื่อนที่เมื่อโฮเวอร์ กด และโฟกัส ส่วนกฎสำหรับปิดใช้งานและกำลังโหลดจะรวมให้อัตโนมัติ

  4. 4

    ตรวจสอบคำแนะนำ

    ดูคอนทราสต์ข้อความค่าต่ำสุด คอนทราสต์ของเส้นโฟกัส และขนาดเป้าหมายขั้นต่ำที่ CSS บังคับใช้

  5. 5

    คัดลอกหรือดาวน์โหลด

    คัดลอก HTML ที่เอสเคปข้อความแล้วพร้อม CSS หรือดาวน์โหลดตัวอย่าง HTML แบบ UTF-8 ที่เปิดได้ในตัวเอง

โค้ดที่สร้างมีอะไรบ้าง

HTML ใช้องค์ประกอบ <button type="button"> จริง และวางข้อความที่มองเห็นไว้ใน span ส่วน CSS ครอบคลุมการแสดงผล 6 สถานะ ได้แก่

  • ปกติ สำหรับหน้าตาทั่วไปเมื่อยังไม่มีการโต้ตอบ
  • โฮเวอร์ เมื่ออุปกรณ์ชี้ตำแหน่งอยู่เหนือปุ่ม
  • โฟกัสจากแป้นพิมพ์ แสดงผ่าน :focus-visible
  • กำลังกด ระหว่างที่ผู้ใช้กดตัวควบคุม
  • ปิดใช้งาน แสดงผ่านพร็อพเพอร์ตี disabled มาตรฐาน
  • กำลังโหลด แสดงผ่าน aria-busy="true"

แอปพลิเคชันของคุณยังต้องเป็นผู้กำหนดว่าปุ่มจะปิดใช้งานหรืออยู่ในสถานะกำลังประมวลผลเมื่อใด เครื่องมือนี้ให้เฉพาะกฎการแสดงผล ไม่ได้สร้างสถานะของแอปหรือผูกการทำงานเมื่อคลิก

คำแนะนำเรื่องคอนทราสต์ไม่ใช่ใบรับรองการผ่านเกณฑ์

ตัวแก้ไขจะคำนวณคอนทราสต์ข้อความค่าต่ำสุดจากสีพื้นฐาน สีปลายการไล่สี สีโฮเวอร์ และสีขณะกด โดยใช้ 4.5:1 เป็นเป้าหมายสำหรับข้อความขนาดปกติ นอกจากนี้ยังเปรียบเทียบเส้นโฟกัสกับพื้นผิวสีอ่อนในตัวอย่าง และใช้ 3:1 เป็นเป้าหมายสำหรับองค์ประกอบที่ไม่ใช่ข้อความ

ตัวเลขเหล่านี้ช่วยค้นหาปัญหาที่พบบ่อย แต่หน้าเว็บจริงอาจวางปุ่มบนพื้นผิวอื่น จึงต้องตรวจคอนทราสต์ของโฟกัสและเส้นขอบอีกครั้งในเลย์เอาต์จริง ตัวควบคุมที่ปิดใช้งานจะแสดงด้วยความทึบลดลง หากจุดประสงค์ไม่ชัดเจนควรมีคำอธิบายใกล้เคียง

ขนาดเป้าหมายและการเคลื่อนไหว

กฎที่ส่งออกบังคับขนาดขั้นต่ำทั้งแนวอินไลน์และแนวบล็อกไว้ที่ 44 px ซึ่งกดได้สะดวกในอินเทอร์เฟซแบบสัมผัสหลายประเภท และมากกว่าค่าขั้นต่ำ 24 CSS px ในเกณฑ์ความสำเร็จ WCAG 2.2 ข้อ 2.5.8 อย่างไรก็ตาม ผลิตภัณฑ์จริงยังต้องคำนึงถึงเลย์เอาต์ ระยะห่าง ข้อยกเว้น และแนวทางของแพลตฟอร์ม

เมื่อผู้ใช้ตั้งค่าให้ลดการเคลื่อนไหว การขยับตอนโฮเวอร์และกดจะถูกนำออก ตัวบอกสถานะกำลังโหลดจะหมุนช้าลงแทนการหายไป เพื่อให้ยังมองเห็นสถานะได้

ขอบเขตเอาต์พุตที่ปลอดภัย

ข้อความบนปุ่มจะถูกทำให้เป็นมาตรฐาน จำกัดไว้ไม่เกิน 120 กลุ่มกราฟีม ลบอักขระควบคุมทิศทางที่มองไม่เห็น และเอสเคปเป็น HTML ทั้งในโค้ดและไฟล์ดาวน์โหลด สีต้องเป็นเลขฐานสิบหก 6 หลัก ส่วนค่าตัวเลขจะถูกปัดเป็นจำนวนเต็มและจำกัดตามช่วงที่ระบุข้างตัวควบคุม

ตัวแก้ไขแบบหน้าเดียวทำงานในหน่วยความจำของเบราว์เซอร์ หากเลือกขั้นตอน 4 หน้า งานออกแบบที่มีหมายเลขเวอร์ชันจะเก็บใน sessionStorage ของแท็บปัจจุบัน ข้อความและค่าการออกแบบจะไม่ถูกใส่ใน URL ของขั้นตอนหรือส่งผ่านเซิร์ฟเวอร์ของเรา

การใช้สถานะกำลังโหลด

เพิ่มและนำแอตทริบิวต์สถานะกำลังประมวลผลออกจากโค้ดแอปพลิเคชันของคุณ

<button type="button" class="generated-button" aria-busy="true" disabled>
  <span class="generated-button__label">กำลังบันทึก</span>
</button>

aria-busy สื่อว่ากำลังมีการอัปเดต หากต้องป้องกันการเรียกซ้ำให้เพิ่ม disabled ด้วย เมื่อทำงานเสร็จ ให้นำทั้งสองแอตทริบิวต์ออก และแสดงข้อความสำเร็จหรือข้อผิดพลาดที่สำคัญในบริเวณสถานะที่เหมาะสม

คำถามที่พบบ่อย

ไม่รับรอง เครื่องมือมีการคำนวณคอนทราสต์ กฎโฟกัสที่มองเห็นได้ การรองรับการลดการเคลื่อนไหว HTML ที่มีความหมาย และเป้าหมายขั้นต่ำ 44 px แต่การผ่านเกณฑ์ขึ้นอยู่กับหน้าเว็บจริง สีรอบข้าง เนื้อหา พฤติกรรม และผลการทดสอบ

ไม่ถูกอัปโหลด ตัวแก้ไขเก็บข้อความและการออกแบบไว้ในหน่วยความจำเบราว์เซอร์ ขั้นตอนแบบหลายหน้าใช้พื้นที่เก็บข้อมูลเซสชันในแท็บเดียวกัน และไม่ใส่ข้อมูลที่เขียนไว้ใน URL หรือคำขอไปยังเซิร์ฟเวอร์ของเรา

ปุ่มเหมาะกับการกระทำ เช่น ส่ง เปิด หรือสลับสถานะ การนำทางควรใช้ลิงก์ที่มี href จริง แล้วปรับคลาสที่สร้างขึ้นหากต้องการให้ลิงก์มีรูปแบบเดียวกัน

ตัวแก้ไขจะแจ้งว่าล้มเหลวและเลือกเอาต์พุตทั้งหมดในช่องข้อความที่อ่านได้ เพื่อให้คัดลอกด้วยตนเอง จะแสดงว่าสำเร็จต่อเมื่อ Clipboard API ทำงานเสร็จแล้วเท่านั้น

เครื่องมือที่เกี่ยวข้อง

ตัวสร้างการตั้งค่า Webpack

สร้าง webpack.config.js สำหรับ webpack 5 ทั้งแบบ JavaScript ล้วน React หรือ Vue พร้อม TypeScript, Babel, CSS หรือ Sass, รูปภาพ, HtmlWebpackPlugin, เซิร์ฟเวอร์สำหรับพัฒนา และคำสั่ง npm install

เครื่องแปลงฐานตัวเลข

แปลงตัวเลขระหว่างฐานสอง ฐานแปด ฐานสิบ ฐานสิบหก และฐานกำหนดเองตั้งแต่ 2 ถึง 36 พร้อมการแยกค่าประจำหลัก

อ้างอิงตัวอักษร HTML

รายการที่สามารถค้นหาได้ขององค์ประกอบ HTML พร้อมรหัสชื่อและรหัสตัวเลข รวมถึงฟังก์ชันสำเนาด้วยคลิกเดียวสำหรับตัวอักษรพิเศษและสัญลักษณ์ต่างๆ

เครื่องสุ่มที่อยู่

สร้างระเบียนคล้ายที่อยู่ 1–20 รายการสำหรับแบบจำลองและการทดสอบ ด้วยรูปแบบประเทศแบบย่อ

ตัวตรวจสอบ OpenAPI

วางเอกสาร OpenAPI หรือ Swagger แบบ JSON หรือ YAML แล้วตรวจโครงสร้างหลัก: ฟิลด์เวอร์ชัน ออบเจกต์ info และ paths พร้อมข้อผิดพลาดและคำเตือนที่ชัดเจน

ตัวแปลง Timestamp

แปลง timestamp ของ Unix ในหน่วยวินาทีหรือมิลลิวินาทีเป็นวันที่ที่อ่านง่ายในเขตเวลา UTC และเขตเวลาหลัก และแปลงวันที่กลับเป็นค่า epoch

เครื่องมือนี้มีให้บริการในภาษาอื่น