เครื่องสร้างเส้นแบ่งส่วน CSS

CSS
เนื้อหาด้านบน

เนื้อหาด้านล่าง
ถัดไป

ตัวแบ่งส่วนคือเส้นแนวนอนที่แยกบล็อกของแลนดิงเพจออกจากกัน เช่น เส้นบางๆ ระหว่างสองส่วน หรือเส้นปิดท้ายตารางราคา ตัวสร้างนี้จะสร้างตัวแบ่งแนวนอนแบบง่าย เลือกสไตล์เส้น (ทึบ ขีด จุด คู่ หรือร่อง) กำหนดสี ความหนา และมาร์จิน ดูตัวอย่างระหว่างสองส่วนจำลอง แล้วคัดลอก CSS ที่ได้

วิธีสร้างตัวแบ่ง

  1. 1

    เลือกสไตล์เส้น

    เลือกจากทึบ ขีด จุด คู่ หรือร่อง ซึ่งเป็นสไตล์ `border-top` ที่ใช้กับตัวแบ่ง

  2. 2

    เลือกสี

    ปรับเส้นให้เข้ากับพื้นหลังของส่วนหรือสีแบรนด์ของคุณ

  3. 3

    กำหนดความหนาและมาร์จิน

    ความหนาอยู่ระหว่าง 1 ถึง 20 พิกเซล ส่วนมาร์จินควบคุมพื้นที่แนวตั้งเหนือและใต้เส้น

  4. 4

    ดูตัวอย่างระหว่างส่วน

    ตัวแบ่งจะแสดงระหว่างสองส่วนจำลองเพื่อให้คุณตรวจสอบการจัดวางและระยะห่างได้

  5. 5

    คัดลอก CSS

    คัดลอกกฎ `.divider` ที่พร้อมใช้และวางลงในสไตล์ชีต

เส้นแบ่งง่าย ๆ

/* Subtle horizontal rule */
.divider {
  height: 1px;
  background: #e5e7eb;
  border: 0;
  margin: 3rem 0;
}

/* With text in the middle */
.divider-text {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #6b7280;
}
.divider-text::before,
.divider-text::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #e5e7eb;
}

การเปลี่ยนผ่านระหว่างส่วนแบบเอียง

เทคนิคการใช้ clip-path:

.hero {
  background: #0f172a;
  color: white;
  padding: 4rem 1rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 48px));
}

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

สำหรับแนวทแยงที่มีทิศทางตรงกันข้าม ให้สลับตำแหน่งของมุมด้านล่างที่ถูกยกขึ้น ส่วนกรณีที่เป็นรูปรอยเว้าหรือเส้นซิกแซก ให้เพิ่มจุดยอดเพิ่มเติม

ตัวแบ่งคลื่น SVG

SVG เป็นวิธีที่สะอาดที่สุดในการสร้างเส้นโค้งแบบออร์แกนิก

<div class="hero">…</div>
<svg class="wave" viewBox="0 0 1440 80" preserveAspectRatio="none">
  <path d="M0 80 C 360 0, 1080 0, 1440 80 L 1440 80 L 0 80 Z"
        fill="white"/>
</svg>
.wave {
  display: block;
  width: 100%;
  height: 60px;
  margin-top: -1px; /* close any subpixel gap */
}

preserveAspectRatio="none" ทำให้ไฟล์ SVG ยืดตัวไปตามความกว้างของคอนเทนเนอร์ โดยไม่คำนึงถึงขนาดเดิมของไฟล์ ส่วน margin-top: -1px จะปิดช่องว่างเล็กๆ ที่อาจเกิดขึ้นในบางโปรแกรมแสดงผล

ไลบรารีเส้นแบ่งที่ใช้บ่อย

ตัวอย่างโค้ดที่มีประโยชน์:

รูปแบบ สไตล์
เส้นขีด border-top: 1px dashed currentColor
เส้นจุด border-top: 2px dotted currentColor; opacity: .4
เส้นไล่เฉดสี background: linear-gradient(to right, transparent, #999, transparent)
แบบมีลวดลายตกแต่ง เส้นพร้อมลวดลาย SVG จัดวางตรงกลางด้วย ::before/::after
แนวเอียง clip-path: polygon(...) บนส่วนด้านบน
คลื่น ไฟล์ SVG ที่ใช้เส้นโค้งเบซิเยร์แบบกำลังสาม
คลื่นแบบกลับด้าน ไฟล์ SVG ที่มียอดคลื่นยื่นขึ้นไปในส่วนเนื้อหา
ซิกแซก ไฟล์ SVG ที่มีจุดสลับกันไปมา

คำแนะนำ

  • การจับคู่เส้นเชื่อม: พื้นหลังของส่วนแบ่ง (สีที่ใช้เติมในไฟล์ SVG หรือสีของส่วนที่มีมุมเอียง) ต้องตรงกับพื้นหลังของส่วนถัดไปอย่างแม่นยำ หากมีความแตกต่างเพียงเล็กน้อย (1 พิกเซล) ก็จะทำให้ผลลัพธ์เสียหาย
  • ควรหลีกเลี่ยงการใช้เส้นโค้งที่มีความชันมากบนหน้าจอขนาดแคบ เนื่องจากลวดลายที่ดูสง่างามเมื่อแสดงที่ความละเอียด 1440 พิกเซล อาจปรากฏเป็นรูปเส้นไซน์ที่บิดเบี้ยวหรือไม่สมมาตรเมื่อแสดงที่ความละเอียด 360 พิกเซล ควรลดขนาดของแอมพลิจูดในการแสดงผลบนอุปกรณ์เคลื่อนที่ โดยใช้ฟังก์ชัน media queries หรือใช้เส้นทาง SVG ที่แตกต่างออกไป
  • อย่าวางเส้นแบ่งหลายเส้นซ้อนกัน การใช้เส้นแบ่งเพียงเส้นเดียวที่ขอบแต่ละส่วนก็เพียงพอแล้ว
  • ประสิทธิภาพ: ตัวแบ่งข้อความแบบ SVG ที่แสดงในรูปแบบอินเลน (inline) มีผลกระทบต่ำมาก ในขณะที่ตัวแบ่งข้อมูลที่ใช้ภาพจะทำให้เกิดการขอข้อมูลจากเครือข่าย ดังนั้น SVG แบบอินเลนจึงมีข้อได้เปรียบเหนือกว่า

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

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

การปัดเศษระดับซับพิกเซล: ให้เพิ่ม margin-top: -1px (หรือ -2px ในเบราว์เซอร์บางตัว) เข้าไปในคลื่นภาพ หรือใช้ display: block เพื่อหลีกเลี่ยงช่องว่างระหว่างองค์ประกอบแบบ inline การใช้วิธีทั้งสองนี้จะช่วยปิดรอยต่อได้อย่างแม่นยำและเชื่อถือได้

ใช่ ในแง่ของภาพลักษณ์ แต่หากส่วนด้านบนมีฟังก์ชันโต้ตอบ (เช่น ปุ่มที่อยู่ในมุมล่าง) เส้นทางคลิปที่มีมุมจะทำให้เนื้อหาในบริเวณนั้นไม่ปรากฏ ขณะที่ยังคงแสดงเป้าหมายที่ผู้ใช้คลิกได้ ซึ่งอาจทำให้ผู้ใช้รู้สึกประหลาดใจ ควรจัดวางพื้นที่ว่างภายในส่วนที่มีมุม เพื่อให้องค์ประกอบที่สามารถโต้ตอบได้อยู่ห่างจากขอบที่ถูกตัด

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

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

ตารางอ้างอิง ASCII

ตาราง ASCII ครบตั้งแต่ 0 ถึง 127 พร้อมค่าเลขฐานสิบ ฐานสิบหก ฐานแปด ฐานสอง และรูปแบบการอ้างอิงอักขระแบบตัวเลขของ HTML รวม NUL, LF และ DEL

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

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

ตารางอ้างอิงแป้นพิมพ์ลัด

ค้นหาแป้นพิมพ์ลัดเริ่มต้นตามเอกสารของ VS Code, Chrome และ Bash ที่ใช้ GNU Readline บน macOS, Windows และ Linux

เครื่องสร้างตัวอักษรสุ่ม

สร้างตัวอักษร A-Z แบบสุ่ม เลือกจำนวน ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก หรือแบบผสม แล้วใช้กับเกม โจทย์ หรือกิจกรรมในห้องเรียน

ตัวลดรูปพีชคณิตบูลีน

ประเมินนิพจน์บูลีนสำหรับทุกชุดอินพุตและดูตารางค่าความจริงที่สมบูรณ์ รองรับตัวแปรสูงสุดห้าตัวและตัวดำเนินการ &, |, !, ^

เครื่องมือสร้าง EditorConfig

สร้างไฟล์ .editorconfig ด้วยกฎสไตล์และขนาดการเยื้อง การจบบรรทัด ชุดอักขระ และช่องว่างของคุณ เพื่อให้การจัดรูปแบบสอดคล้องกันในทุก IDE และโปรแกรมแก้ไข

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