Trình tạo border-radius CSS
border-radius trông có vẻ đơn giản, cho đến khi bạn cố giải thích vì sao 50% trên hình vuông cho ra hình tròn, còn 50% trên hình chữ nhật lại cho ra hình bầu dục. Trình tạo này cho phép bạn nhập giá trị cho từng góc trong bốn góc, chọn giữa px, % và rem, rồi sao chép đúng cú pháp viết tắt được tạo ra. Rất hữu ích cho hình dạng nút bấm, góc thẻ, nút hình viên thuốc (pill) và các góc bất đối xứng.
Cách tạo border-radius
-
1
Đặt từng góc
Nhập bán kính cho các góc trên trái, trên phải, dưới phải và dưới trái.
-
2
Chọn đơn vị
Pixel px (kích thước cố định), phần trăm % (so với phần tử) hoặc rem (so với cỡ chữ gốc).
-
3
Tạo CSS
Nhấn Generate CSS để tạo cú pháp viết tắt.
-
4
Sao chép quy tắc
Sao chép cú pháp viết tắt của `border-radius` rồi dán vào bảng định kiểu của bạn.
Thứ tự trong cú pháp viết tắt
border-radius: top-left top-right bottom-right bottom-left;
Giống như margin / padding: theo chiều kim đồng hồ, bắt đầu từ góc trên bên trái. Các giá trị bị bỏ qua sẽ phản chiếu góc đối diện. Vì vậy border-radius: 10px 20px; nghĩa là 10px cho góc trên trái và dưới phải, 20px cho góc trên phải và dưới trái.
Điều trình tạo này không làm
Trình tạo đặt một bán kính cho mỗi góc, nên không bao giờ tạo góc elip (dạng hai giá trị có dấu gạch chéo, như border-radius: 20px 10px / 5px 15px;) hay các thuộc tính khai triển như border-top-left-radius. Nếu cần, hãy tự viết CSS.
Phần trăm so với pixel
| Đơn vị | Hành vi |
|---|---|
| px | Cố định, không co giãn theo kích thước phần tử |
| % | Phần trăm chiều rộng (ngang) và chiều cao (dọc) của phần tử |
| em | Co giãn theo cỡ chữ của phần tử |
| rem | Co giãn theo cỡ chữ gốc (root) |
50% trên một phần tử hình vuông = hình tròn. Trên hình chữ nhật 200×100, 50% = bán kính ngang 100px cộng bán kính dọc 50px = hình elip.
Các hình dạng thường gặp
| Hình dạng | CSS |
|---|---|
| Hình tròn (hình vuông) | border-radius: 50%; |
| Viên thuốc (pill) | border-radius: 9999px; (mọi giá trị ≥ nửa chiều cao) |
| Thẻ bo góc | border-radius: 8px; hoặc 12px |
| Bong bóng chat | border-radius: 18px 18px 0 18px; (đuôi ở góc dưới bên phải) |
| Bo góc nhẹ | border-radius: 2px; hoặc 4px |
Quy tắc “nửa chiều cao” cho nút hình viên thuốc
Nút hình viên thuốc (pill) là một hình chữ nhật có hai đầu trái và phải là những nửa hình tròn hoàn hảo. Để đạt được điều này một cách chắc chắn, hãy đặt border-radius bằng ít nhất một nửa chiều cao của phần tử. Dùng 9999px (hoặc bất kỳ giá trị rất lớn nào) đều an toàn, vì trình duyệt sẽ giới hạn bán kính theo hình học thực tế.
Tương tác với overflow
Theo mặc định, border-radius chỉ cắt nền, viền và bóng đổ của hộp. Để cắt các phần tử con (hình ảnh, phần tử lồng nhau) theo hình bo tròn, hãy thêm:
overflow: hidden;
hoặc dùng isolation: isolate + overflow: hidden để đồng thời giới hạn cả ngữ cảnh xếp chồng (stacking contexts).
Lưu ý về khả năng truy cập
Bản thân border-radius không gây vấn đề về khả năng truy cập, nhưng việc bo góc quá mức trên các phần tử tương tác (nút viên thuốc, chip) không nên làm thu nhỏ vùng chạm. Dù bo góc thế nào, hãy giữ nút có kích thước ít nhất 44×44px (theo khuyến nghị của WCAG).
Câu hỏi thường gặp
Vì border-radius dạng phần trăm được đo là “% chiều rộng” theo phương ngang và “% chiều cao” theo phương dọc, trên một phần tử không vuông, điều này tạo ra hình elip. Để có hình tròn, phần tử phải là hình vuông, hoặc dùng giá trị pixel khớp với kích thước của phần tử.
Mặc định chỉ cắt nền, viền và bóng đổ của hộp. Các phần tử con sẽ không bị cắt trừ khi bạn thêm overflow: hidden vào phần tử cha.
Nó có thể tạo hiệu ứng động giữa các giá trị số: transition: border-radius 200ms; hoạt động với cả pixel và phần trăm. Tạo hiệu ứng động giữa một cú pháp elip phức tạp và một bán kính đơn giản có thể tạo ra những khung trung gian bất ngờ; hãy kiểm tra và đơn giản hóa trạng thái đầu và cuối nếu trông không ổn.
Đặc tả không đặt giới hạn trên, nhưng trình duyệt giới hạn bán kính thực tế bằng một nửa cạnh ngắn hơn của phần tử. Dùng border-radius: 9999px trên một nút cao 40px sẽ tạo ra hình viên thuốc, trình duyệt âm thầm giới hạn còn 20px.
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ộ 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 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.
Bộ chọn màu HEX
Chọn hoặc nhập màu HEX để xem RGB, HSL, CMYK ước tính, độ chói tương đối và tương phản với trắng và đen.
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.