border-radius

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Thuộc tính border-radius trong CSS bo tròn các góc của đường viền ngoài của một phần tử. Bạn có thể đặt một bán kính duy nhất để tạo góc tròn hình tròn, hoặc hai bán kính để tạo góc tròn hình elip.

Try it

border-radius: 30px;
border-radius: 25% 10%;
border-radius: 10% 30% 50% 70%;
border-radius: 10% / 50%;
border-radius: 10px 100px / 120px;
border-radius: 50% 20% / 10% 40%;
<section class="default-example" id="default-example">
  <div class="transition-all" id="example-element">
    This is a box with rounded corners.
  </div>
</section>
#example-element {
  width: 80%;
  height: 80%;
  display: flex;
  justify-content: center;
  flex-direction: column;
  background-color: #5b6dcd;
  color: white;
  padding: 10px;
}

Thuộc tính thành phần

Thuộc tính này là dạng viết tắt cho các thuộc tính CSS sau:

Cú pháp

css
/* Cú pháp của bán kính thứ nhất cho phép một đến bốn giá trị */
/* Bán kính được đặt cho cả 4 cạnh */
border-radius: 10px;

/* top-left-and-bottom-right | top-right-and-bottom-left */
border-radius: 10px 5%;

/* top-left | top-right-and-bottom-left | bottom-right */
border-radius: 2px 4px 2px;

/* top-left | top-right | bottom-right | bottom-left */
border-radius: 1px 0 3px 4px;

/* Cú pháp của bán kính thứ hai cho phép một đến bốn giá trị */
/* (các giá trị bán kính thứ nhất) / radius */
border-radius: 10px / 20px;

/* (các giá trị bán kính thứ nhất) / top-left-and-bottom-right | top-right-and-bottom-left */
border-radius: 10px 5% / 20px 30px;

/* (các giá trị bán kính thứ nhất) / top-left | top-right-and-bottom-left | bottom-right */
border-radius: 10px 5px 2em / 20px 25px 30%;

/* (các giá trị bán kính thứ nhất) / top-left | top-right | bottom-right | bottom-left */
border-radius: 10px 5% / 20px 25em 30px 35em;

/* Giá trị toàn cục */
border-radius: inherit;
border-radius: initial;
border-radius: revert;
border-radius: revert-layer;
border-radius: unset;

Thuộc tính border-radius được chỉ định bằng:

  • một, hai, ba, hoặc bốn giá trị <length> hoặc <percentage>. Được dùng để đặt một bán kính duy nhất cho các góc.
  • tùy chọn theo sau bởi "/" và một, hai, ba, hoặc bốn giá trị <length> hoặc <percentage>. Được dùng để đặt thêm một bán kính, tạo góc tròn hình elip.

Giá trị

radius A light blue rectangle with a light gray border. All 4 corners are rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở mỗi góc. Chỉ dùng trong cú pháp một giá trị.
top-left-and-bottom-right A light blue rectangle with a light gray border. The 2 corners on the top left and the bottom right have are rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc trên-trái và góc dưới-phải của hộp phần tử. Chỉ dùng trong cú pháp hai giá trị.
top-right-and-bottom-left A light blue rectangle with a light gray border. The 2 corners on the top right and the bottom left are rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc trên-phải và góc dưới-trái của hộp phần tử. Chỉ dùng trong cú pháp hai và ba giá trị.
top-left A light blue rectangle with a light gray border. The corner on the top left is rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc trên-trái của hộp phần tử. Chỉ dùng trong cú pháp ba và bốn giá trị.
top-right A light blue rectangle with a light gray border. The corner on the top right is rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc trên-phải của hộp phần tử. Chỉ dùng trong cú pháp bốn giá trị.
bottom-right A light blue rectangle with a light gray border. The bottom right corner is rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc dưới-phải của hộp phần tử. Chỉ dùng trong cú pháp ba và bốn giá trị.
bottom-left A light blue rectangle with a light gray border. The bottom left corner is rounded. Là giá trị <length> hoặc <percentage> biểu thị bán kính dùng cho đường viền ở góc dưới-trái của hộp phần tử. Chỉ dùng trong cú pháp bốn giá trị.
<length>

Biểu thị kích thước của bán kính đường tròn, hoặc trục bán trục lớn và bán trục nhỏ của elip, bằng giá trị độ dài. Giá trị âm không hợp lệ.

<percentage>

Biểu thị kích thước của bán kính đường tròn, hoặc trục bán trục lớn và bán trục nhỏ của elip, bằng giá trị phần trăm. Phần trăm cho trục ngang tham chiếu đến chiều rộng của hộp; phần trăm cho trục dọc tham chiếu đến chiều cao của hộp. Giá trị âm không hợp lệ.

Ví dụ:

css
border-radius: 1em / 5em;

/* Tương đương: */
border-top-left-radius: 1em 5em;
border-top-right-radius: 1em 5em;
border-bottom-right-radius: 1em 5em;
border-bottom-left-radius: 1em 5em;
css
border-radius: 4px 3px 6px / 2px 4px;

/* Tương đương: */
border-top-left-radius: 4px 2px;
border-top-right-radius: 3px 4px;
border-bottom-right-radius: 6px 2px;
border-bottom-left-radius: 3px 4px;

Mô tả

Bán kính áp dụng cho toàn bộ background, ngay cả khi phần tử không có đường viền; vị trí cắt chính xác được xác định bởi thuộc tính background-clip.

Thuộc tính border-radius không áp dụng cho các phần tử bảng khi border-collapsecollapse.

Note: Như với bất kỳ thuộc tính viết tắt nào, các thuộc tính con riêng lẻ không thể kế thừa, chẳng hạn trong border-radius:0 0 inherit inherit, điều này sẽ ghi đè một phần các định nghĩa hiện có. Thay vào đó, phải sử dụng các thuộc tính dài riêng lẻ.

Định nghĩa hình thức

Initial valueas each of the properties of the shorthand:
Applies toall elements; but User Agents are not required to apply to table and inline-table elements when border-collapse is collapse. The behavior on internal table elements is undefined for the moment.. It also applies to ::first-letter.
Inheritedno
Percentagesrefer to the corresponding dimension of the border box
Computed valueas each of the properties of the shorthand:
Animation typeas each of the properties of the shorthand:

Cú pháp hình thức

border-radius = 
<length-percentage [0,∞]>{1,4} [ / <length-percentage [0,∞]>{1,4} ]?

<length-percentage> =
<length> |
<percentage>

Ví dụ

So sánh các kiểu đường viền

Ví dụ dưới đây có bảy phần tử <pre>, mỗi phần tử minh họa các kết hợp kiểu borderborder-radius. Các kiểu áp dụng cho mỗi phần tử <pre> được đưa vào nội dung của phần tử, để bạn có thể thấy các khai báo CSS cần thiết để tạo kiểu đường viền tương ứng:

Sử dụng corner-shape cùng với border-radius

Khi giá trị border-radius khác 0 được áp dụng cho một góc của hộp, bạn có thể sử dụng thuộc tính corner-shape (hoặc một trong các dạng dài và viết tắt của nó) để áp dụng các hình dạng tùy chỉnh cho góc đó, chẳng hạn như vát cạnh, khía, hoặc squircle. Ví dụ này minh họa cách dùng corner-shape.

HTML

Đánh dấu cho ví dụ này chứa một phần tử <div> duy nhất.

html
<div></div>

CSS

Chúng tôi đặt một số kiểu cơ bản cho hộp, đã ẩn để ngắn gọn. Chúng tôi cũng áp dụng box-shadow, border-radius0 20% 50px 30%, và corner-shapesuperellipse(0.5) bevel notch squircle.

css
div {
  box-shadow: 1px 1px 3px gray;
  border-radius: 0 20% 50px 30%;
  corner-shape: superellipse(0.5) bevel notch squircle;
}

Kết quả

Kết quả hiển thị trông như thế này:

Lưu ý rằng không có hình dạng góc nào được áp dụng cho góc trên-trái, vì nó có giá trị border-radius0.

Đặc tả kỹ thuật

Specification
CSS Backgrounds and Borders Module Level 3
# border-radius

Tương thích trình duyệt

Xem thêm