stroke-width

Baseline Widely available

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

Thuộc tính stroke-width của CSS xác định độ rộng của nét viền được áp dụng cho hình dạng SVG. Nếu có, nó sẽ ghi đè thuộc tính stroke-width của phần tử.

Thuộc tính này áp dụng cho bất kỳ hình dạng SVG hoặc phần tử nội dung văn bản nào (xem stroke-width để biết danh sách đầy đủ), nhưng là một thuộc tính kế thừa, nó có thể được áp dụng cho các phần tử như <g> và vẫn có hiệu lực mong muốn trên nét viền của các phần tử con. Nếu giá trị ước lượng bằng không, nét viền sẽ không được vẽ.

Cú pháp

css
/* Giá trị độ dài và phần trăm */
stroke-width: 0%;
stroke-width: 1.414px;

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

Giá trị

<length>

Đơn vị pixel được xử lý giống như đơn vị SVG (xem <number> ở trên) và các độ dài dựa trên phông chữ như em được tính toán theo giá trị SVG của phần tử cho kích thước văn bản; hiệu ứng của các đơn vị độ dài khác có thể phụ thuộc vào trình duyệt.

<percentage>

Phần trăm tham chiếu đến đường chéo chuẩn hóa của khung nhìn SVG hiện tại, được tính là <width>2+<height>22.

<number> Non-standard

Một số đơn vị SVG, kích thước của chúng được xác định bởi không gian đơn vị hiện tại.

Định nghĩa chính thức

Initial value1px
Applies to<circle>, <ellipse>, <line>, <path>, <polygon>, <polyline>, and <rect> elements in an svg
Inheritedyes
Percentagesrefer to the normalized diagonal measure of the current SVG viewport's applied viewBox, or of the viewport itself if no viewBox is specified
Computed valuean absolute <length> or <percentage>, numbers converted to absolute lengths first
Animation typeby computed value type

Cú pháp chính thức

stroke-width = 
[ <length-percentage> | <line-width> | <number> ]#

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

<line-width> =
<length [0,∞]> |
hairline |
thin |
medium |
thick

Ví dụ

Các độ rộng nét viền khác nhau

Ví dụ này minh họa các cú pháp giá trị khác nhau cho thuộc tính stroke-width.

HTML

Đầu tiên, chúng ta thiết lập năm đường dẫn nhiều đoạn, tất cả đều sử dụng nét viền đen với độ rộng một, và không có tô màu. Mỗi đường dẫn tạo ra một loạt các ký hiệu núi, từ trái (góc nông) đến phải (góc cực đoan).

html
<svg viewBox="0 0 39 30" xmlns="http://www.w3.org/2000/svg">
  <g stroke="black" stroke-width="1" fill="none">
    <path
      d="M1,5 l7   ,-3 l7   ,3
         m2,0 l3.5 ,-3 l3.5 ,3
         m2,0 l2   ,-3 l2   ,3
         m2,0 l0.75,-3 l0.75,3
         m2,0 l0.5 ,-3 l0.5 ,3" />
    <path
      d="M1,8 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
    <path
      d="M1,14 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
    <path
      d="M1,18 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
    <path
      d="M1,26 l7,-3 l7,3 m2,0 l3.5,-3 l3.5,3 m2,0 l2,-3 l2,3 m2,0 l0.75,-3 l0.75,3 m2,0 l0.5,-3 l0.5,3" />
  </g>
</svg>

CSS

Đối với bốn đường dẫn đầu tiên, chúng ta áp dụng các giá trị độ rộng nét viền theo từng cặp để cho thấy cách các giá trị số thuần túy và giá trị pixel có chức năng tương đương. Đối với hai đường dẫn đầu tiên, các giá trị là .25.25px. Đối với hai đường dẫn tiếp theo, các giá trị là 11px.

Đối với đường dẫn thứ năm và cuối cùng, giá trị 5% được áp dụng, do đó đặt độ rộng nét viền bằng năm phần trăm của đường chéo khung nhìn SVG.

css
path:nth-child(1) {
  stroke-width: 0.25;
}
path:nth-child(2) {
  stroke-width: 0.25px;
}
path:nth-child(3) {
  stroke-width: 1;
}
path:nth-child(4) {
  stroke-width: 1px;
}
path:nth-child(5) {
  stroke-width: 5%;
}

Kết quả

Thông số kỹ thuật

Specification
CSS Fill and Stroke Module Level 3
# stroke-width

Khả năng tương thích trình duyệt

Xem thêm