<svg>
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.
* Some parts of this feature may have varying levels of support.
<svg> SVG là một phần tử chứa, định nghĩa một hệ tọa độ mới và viewport. Nó được dùng làm phần tử ngoài cùng của tài liệu SVG, nhưng cũng có thể dùng để nhúng một fragment SVG bên trong tài liệu SVG hoặc HTML.
Phần tử này dùng để tạo các tài liệu SVG mới. Nếu bạn đã có một tài liệu SVG hiện có và muốn nhúng nó vào tài liệu khác qua URL, hãy dùng <img>, <object> hoặc <image>.
Note:
Thuộc tính xmlns chỉ cần thiết trên phần tử svg ngoài cùng của tài liệu SVG, hoặc bên trong tài liệu HTML có XML serialization. Nó không cần thiết cho các phần tử svg bên trong hoặc bên trong tài liệu HTML dùng HTML serialization.
Ngữ cảnh sử dụng
| Categories | Container element, Structural element |
|---|---|
| Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements Shape elements Structural elements Gradient elements <a>, <clipPath>, <filter>, <foreignObject>, <image>, <marker>, <mask>, <pattern>, <script>, <style>, <switch>, <text>, <view> |
Thuộc tính
baseProfileDeprecated-
Hồ sơ ngôn ngữ SVG tối thiểu mà tài liệu yêu cầu. Kiểu giá trị: <string>; Giá trị mặc định: none; Có thể hoạt ảnh: không
height-
Chiều cao hiển thị của viewport hình chữ nhật. (Không phải chiều cao của hệ tọa độ của nó.) Kiểu giá trị: <length> | <percentage>; Giá trị mặc định:
auto; Có thể hoạt ảnh: có preserveAspectRatio-
Cách fragment
svgphải bị biến dạng nếu nó được hiển thị với aspect ratio khác. Kiểu giá trị: (none|xMinYMin|xMidYMin|xMaxYMin|xMinYMid|xMidYMid|xMaxYMid|xMinYMax|xMidYMax|xMaxYMax) (meet|slice)?; Giá trị mặc định:xMidYMid meet; Có thể hoạt ảnh: có versionDeprecated-
Phiên bản SVG nào được dùng cho nội dung bên trong của phần tử. Kiểu giá trị: <number>; Giá trị mặc định: none; Có thể hoạt ảnh: không
viewBox-
Tọa độ viewport SVG cho fragment SVG hiện tại. Kiểu giá trị: <list-of-numbers>; Giá trị mặc định: none; Có thể hoạt ảnh: có
width-
Chiều rộng hiển thị của viewport hình chữ nhật. (Không phải chiều rộng của hệ tọa độ của nó.) Kiểu giá trị: <length> | <percentage>; Giá trị mặc định:
auto; Có thể hoạt ảnh: có x-
Tọa độ x hiển thị của khối chứa svg. Không có tác dụng với phần tử
svgngoài cùng. Kiểu giá trị: <length> | <percentage>; Giá trị mặc định:0; Có thể hoạt ảnh: có y-
Tọa độ y hiển thị của khối chứa svg. Không có tác dụng với phần tử
svgngoài cùng. Kiểu giá trị: <length> | <percentage>; Giá trị mặc định:0; Có thể hoạt ảnh: có
Note:
Từ SVG2, x, y, width và height là Geometry Properties, nghĩa là các thuộc tính này cũng có thể được dùng như thuộc tính CSS.
Giao diện DOM
Phần tử này triển khai giao diện SVGSVGElement.
Ví dụ
>Phần tử svg lồng nhau
Ví dụ này cho thấy rằng các phần tử svg lồng nhau không cần thuộc tính xmlns.
<svg
viewBox="0 0 300 100"
xmlns="http://www.w3.org/2000/svg"
stroke="red"
fill="grey">
<circle cx="50" cy="50" r="40" />
<circle cx="150" cy="50" r="4" />
<svg viewBox="0 0 10 10" x="200" width="100">
<circle cx="5" cy="5" r="4" />
</svg>
</svg>
Sử dụng đơn vị viewport động
Trong ví dụ này, các thuộc tính height và width trên phần tử svg được đặt bằng giá trị viewport động 60vmin, tương đương 60% chiều rộng hoặc chiều cao của viewport, tùy giá trị nào nhỏ hơn.
<svg
viewBox="0 0 400 400"
xmlns="http://www.w3.org/2000/svg"
height="60vmin"
width="60vmin">
<rect x="0" y="0" width="50%" height="50%" fill="tomato" opacity="0.75" />
<rect
x="25%"
y="25%"
width="50%"
height="50%"
fill="slategrey"
opacity="0.75" />
<rect x="50%" y="50%" width="50%" height="50%" fill="olive" opacity="0.75" />
<rect
x="0"
y="0"
width="100%"
height="100%"
stroke="cadetblue"
stroke-width="0.5%"
fill="none" />
</svg>
Để thay đổi kích thước của iframe, hãy thử kéo thay đổi đường viền chấm đỏ từ góc dưới bên phải.
Đặc tả
| Specification |
|---|
| Scalable Vector Graphics (SVG) 2> # NewDocument> |