Trình tạo đường phân chia CSS
Đường phân chia phần là các đường kẻ ngang ngăn cách các khối của trang đích, chẳng hạn đường mảnh giữa hai phần hoặc đường kết thúc bảng giá. Trình tạo này tạo một đường phân chia ngang đơn giản: chọn kiểu đường kẻ (liền, gạch ngang, chấm, đôi hoặc rãnh), đặt màu, độ dày và lề, xem trước giữa hai phần mẫu rồi sao chép CSS tạo ra.
Cách tạo đường phân chia
-
1
Chọn kiểu đường kẻ
Chọn từ liền, gạch ngang, chấm, đôi hoặc rãnh, kiểu `border-top` dùng cho đường phân chia.
-
2
Chọn màu
Điều chỉnh đường kẻ cho hợp với nền của các phần hoặc màu thương hiệu của bạn.
-
3
Đặt độ dày và lề
Độ dày từ 1 đến 20 pixel; lề kiểm soát khoảng trống dọc phía trên và dưới đường kẻ.
-
4
Xem trước giữa các phần
Đường phân chia được hiển thị giữa hai phần mẫu để bạn kiểm tra căn chỉnh và khoảng cách.
-
5
Sao chép CSS
Sao chép quy tắc `.divider` sẵn dùng và dán vào tệp stylesheet của bạn.
Các đường phân cách đơn giản
/* 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;
}
Chuyển tiếp mục bằng cạnh nghiêng
Mẹo dùng clip-path:
.hero {
background: #0f172a;
color: white;
padding: 4rem 1rem;
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 48px));
}
Góc dưới bên trái được kéo lên 48px, tạo thành một cạnh nghiêng đường chéo. Để chuyển tiếp một cách liền mạch, phần tiếp theo cần bắt đầu ngang với cạnh này, không được có khoảng trống trắng.
Đối với đường chéo đi theo hướng ngược lại, hãy đảo vị trí góc dưới được nâng lên. Đối với các đường rãnh hoặc đường hình chữ Z, cần thêm thêm các đỉnh.
Đường phân chia dạng sóng bằng SVG
SVG là phương pháp sạch nhất để tạo các đường cong tự nhiên:
<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" cho phép định dạng SVG kéo dài đến toàn bộ chiều rộng của container, bất kể kích thước ban đầu của hình ảnh. margin-top: -1px loại bỏ khe hở nhỏ mà một số trình hiển thị có thể để lại.
Thư viện đường phân chia thường dùng
Các đoạn mã hữu ích:
| Mẫu | Kiểu |
|---|---|
| Đường nét đứt | border-top: 1px dashed currentColor |
| Đường chấm | border-top: 2px dotted currentColor; opacity: .4 |
| Đường chuyển sắc | background: linear-gradient(to right, transparent, #999, transparent) |
| Trang trí | Đường kẻ + họa tiết SVG canh giữa bằng ::before/::after |
| Cạnh nghiêng | clip-path: polygon(...) trên mục phía trên |
| Sóng | SVG với đường cong Bézier bậc ba |
| Sóng đảo ngược | SVG có các đỉnh nhô lên vào trong mục |
| Zigzag | SVG với các điểm xen kẽ |
Những mẹo nhỏ
- Khớp mép nối: Nền của đường phân chia (màu tô SVG hoặc màu của mục nghiêng) phải trùng khớp chính xác với nền của mục tiếp theo; chỉ cần lệch màu 1px là hiệu ứng hỏng.
- Tránh các đường cong gắt trên màn hình hẹp: Một con sóng trông thanh lịch ở 1440px có thể trở thành đường sin bị bẹp ở 360px. Hãy giảm biên độ trên di động bằng media query, hoặc dùng một đường SVG khác.
- Đừng xếp chồng nhiều đường phân chia: Mỗi ranh giới mục chỉ cần một mép nối là đủ.
- Hiệu suất: Đường phân chia SVG nội tuyến gần như không tốn tài nguyên; trong khi đường phân chia dựa trên hình ảnh lại tốn thêm một yêu cầu mạng. SVG nội tuyến chiếm ưu thế.
Câu hỏi thường gặp
SVG. CSS có thể xử lý các đoạn thẳng góc một cách chính xác, nhưng đối với các đường cong thì cần sử dụng các phương pháp xấp xỉ dựa trên nhiều đỉnh đa giác hoặc các giải pháp thay thế. Các đường dẫn trong SVG xử lý các đường cong mượt mà một cách tự nhiên và có khả năng tự động điều chỉnh kích thước cho mọi chiều rộng.
Đó là do làm tròn ở mức dưới điểm ảnh (subpixel). Hãy thêm margin-top: -1px (hoặc -2px ở một số trình duyệt) cho sóng, hoặc dùng display: block để tránh khoảng trắng của phần tử nội dòng (inline). Cả hai cách đều khép kín mép nối một cách đáng tin cậy.
Đúng vậy, về mặt hình ảnh. Tuy nhiên, nếu phần trên có tính tương tác (ví dụ như một nút ở góc dưới), đường dẫn cắt nghiêng sẽ loại bỏ nội dung hiển thị ở khu vực đó mà vẫn giữ nguyên đối tượng được nhắm mục tiêu – điều này có thể khiến người dùng bất ngờ. Hãy để lại khoảng trống bên trong vùng bị cắt để các thành phần tương tác không tiếp xúc trực tiếp với mép cắt.
Không. Các dấu phân cách chỉ mang tính trình bày và không ảnh hưởng đến nội dung trang – chính nội dung đó mới là đối tượng được các công cụ tìm kiếm lập chỉ mục. Cấu trúc ngữ nghĩa (tiêu đề, phần nội dung) rất quan trọng đối với SEO; trong khi các dấu phân cách dùng để tạo hiệu ứng thẩm mỹ giữa chúng thì không có tác dụng đáng kể.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Bộ chuyển đổi Base64 sang Hex
Chuyển chuỗi Base64 chuẩn thành các byte nền tảng được viết dưới dạng hexadecimal liên tục in hoa. Giải mã nghiêm ngặt, lý tưởng cho token, khóa và chữ ký JWT.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Trình tạo bảng màu ngẫu nhiên
Tạo bảng màu ngẫu nhiên từ 2 đến 15 mẫu màu, chọn phong cách rực rỡ, pastel, dịu hoặc tối, rồi sao chép mã HEX hoặc biến CSS.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- CSS 구분선 생성기 [KO]
- CSS-scheidingslijn-generator [NL]
- CSS 分隔线生成器 [ZH]
- CSS-Trenner-Generator [DE]
- CSS Divider Generator [EN]
- Generator Pembatas CSS [ID]
- CSS-avdelargenerator [SV]
- Generator separatorów CSS [PL]
- مولّد فواصل الأقسام بـ CSS [AR]
- เครื่องสร้างเส้นแบ่งส่วน CSS [TH]
- Generador de Divisores CSS [ES]
- Générateur de diviseur CSS [FR]
- Gerador de Divisores CSS [PT]
- CSS区切り線ジェネレーター [JA]
- CSS Ayırıcı Oluşturucu [TR]
- Generatore di Divisori CSS [IT]
- Генератор CSS-разделителей [RU]