เครื่องสร้างเส้นแบ่งส่วน CSS
ตัวแบ่งส่วนคือเส้นแนวนอนที่แยกบล็อกของแลนดิงเพจออกจากกัน เช่น เส้นบางๆ ระหว่างสองส่วน หรือเส้นปิดท้ายตารางราคา ตัวสร้างนี้จะสร้างตัวแบ่งแนวนอนแบบง่าย เลือกสไตล์เส้น (ทึบ ขีด จุด คู่ หรือร่อง) กำหนดสี ความหนา และมาร์จิน ดูตัวอย่างระหว่างสองส่วนจำลอง แล้วคัดลอก CSS ที่ได้
วิธีสร้างตัวแบ่ง
-
1
เลือกสไตล์เส้น
เลือกจากทึบ ขีด จุด คู่ หรือร่อง ซึ่งเป็นสไตล์ `border-top` ที่ใช้กับตัวแบ่ง
-
2
เลือกสี
ปรับเส้นให้เข้ากับพื้นหลังของส่วนหรือสีแบรนด์ของคุณ
-
3
กำหนดความหนาและมาร์จิน
ความหนาอยู่ระหว่าง 1 ถึง 20 พิกเซล ส่วนมาร์จินควบคุมพื้นที่แนวตั้งเหนือและใต้เส้น
-
4
ดูตัวอย่างระหว่างส่วน
ตัวแบ่งจะแสดงระหว่างสองส่วนจำลองเพื่อให้คุณตรวจสอบการจัดวางและระยะห่างได้
-
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 และโปรแกรมแก้ไข
เครื่องมือนี้มีให้บริการในภาษาอื่น
- Generator separatorów CSS [PL]
- CSS-Trenner-Generator [DE]
- Trình tạo đường phân chia CSS [VI]
- Générateur de diviseur CSS [FR]
- CSS Ayırıcı Oluşturucu [TR]
- Gerador de Divisores CSS [PT]
- مولّد فواصل الأقسام بـ CSS [AR]
- CSS-avdelargenerator [SV]
- CSS 구분선 생성기 [KO]
- CSS Divider Generator [EN]
- CSS 分隔线生成器 [ZH]
- CSS-scheidingslijn-generator [NL]
- Generator Pembatas CSS [ID]
- Generador de Divisores CSS [ES]
- CSS区切り線ジェネレーター [JA]
- Generatore di Divisori CSS [IT]
- Генератор CSS-разделителей [RU]