Skip to content

CSS Tham khảo API

Tài liệu API CSS bao quát lớp component dựa trên lớp của pantoken: components, utilities, luật toàn cục, và declarations được xây dựng trên hệ thống token.

Các thành phần

TênLớpTóm tắt
agent-shell.instui-agent-shellMột vùng bề mặt chứa cho các tác nhân AI.
alert.instui-alertMột thông báo nội tuyến với thanh màu trạng thái và một biểu tượng trạng thái che mặt từ bộ biểu tượng chia sẻ.
avatar.instui-avatarMột avatar người dùng hiển thị chữ viết tắt hoặc hình ảnh, mặc định là hình tròn.
badge.instui-badgeMột chấm nhỏ biểu thị số lượng hoặc trạng thái đặt trên góc của mục tiêu.
banner.instui-bannerMột bề mặt thông báo có thể đóng, có biểu tượng, cho thông báo cấp trang hoặc trong ngữ cảnh.
billboard.instui-billboardMột khối trạng thái rỗng lớn hoặc kêu gọi hành động: một biểu tượng/ảnh lớn, tiêu đề và thông điệp.
breadcrumb.instui-breadcrumbMột đường dẫn breadcrumb có các phân cách; mẩu cuối cùng là trang hiện tại.
breadcrumb.linkliMột mẩu (InstUI Breadcrumb.Link), một <li> trong <ol> của cha; mẩu cuối cùng là trang hiện tại.
button.instui-buttonMột điều khiển hành động truy cập được, được kiểu hóa từ bảng màu token; mặc định là primary.
byline.instui-bylineMột đối tượng media: một hình lớn bên cạnh tiêu đề và mô tả.
calendar.instui-calendarMột lưới tháng tĩnh với điều hướng, tiêu đề thứ trong tuần, và ô ngày.
calendar.day.dayMột ô ngày (InstUI Calendar.Day); -today, -selected, và -outside-month đánh dấu trạng thái của nó.
card.instui-cardMột vùng bề mặt chứa chấp nhận nội dung tùy ý.
checkbox.instui-checkboxMột checkbox gốc và nhãn của nó, hoặc một switch thông qua -variant-toggle.
close-button.instui-close-buttonMột nút icon trong suốt vẽ glyph × của riêng nó, có ba kích thước cộng với biến thể trên nền màu.
context-view.instui-context-viewMột callout nâng lên có mũi tên (caret), có thể định vị ở bất kỳ cạnh nào; hoạt động như một [popover] gốc.
drawer-layout.instui-drawer-layoutMột bố cục chia đôi với khay bên có thể thu gọn và vùng nội dung chính có thể cuộn.
drawer-layout.content.contentVùng nội dung chính chiếm không gian còn lại bên cạnh khay.
drawer-layout.tray.trayBảng điều khiển bên cạnh nội dung chính, với tuỳ chọn overlay và modifiers bề mặt giống khay.
file-drop.instui-file-dropMột vùng thả tệp với trạng thái hover, accepted và rejected.
form-field.instui-form-fieldMột wrapper trường mẫu: một nhãn, các điều khiển của nó, và bố cục inline, required, hoặc readonly.
form-field-group.instui-form-field-groupMột nhóm <fieldset> với legend, bố cục cột hoặc inline, và khoảng cách có thể cấu hình.
form-field-messages.instui-form-field-messagesTrợ giúp trường và thông điệp xác thực — hint, error, success, và chỉ dành cho trình đọc màn hình — có biểu tượng khi lỗi và thành công.
heading.instui-headingKiểu chữ tiêu đề từ -level-h1 đến -level-h6.
img.instui-imgMột <img> được kiểu hóa với các modifier display, crop, và effect xếp chồng.
in-place-edit.instui-in-place-editMột [contenteditable] hiển thị như văn bản cho đến khi được focus, sau đó hiển thị chrome nhập liệu.
input-group.instui-input-groupMột facade quanh input văn bản với các slot icon dẫn và cuối.
link.instui-linkMột liên kết được kiểu hóa với các kích thước, biến thể ngược cho nền tối, và dạng inline hoặc không kiểu.
list.instui-listMột danh sách với khoảng cách mục do token điều khiển.
list.item.instui-listMột mục danh sách (InstUI List.Item).
mask.instui-maskMột overlay trong dòng chiếm đầy phần tử cha đã định vị và căn giữa nội dung — ví dụ: spinner trên một card. Đối với modal, ưu tiên <dialog> gốc ( ::backdrop của nó là mask). Mỗi modifier này cũng có sẵn toàn cục (trần, hoặc xâu vào bất kỳ component nào khác) — xem utility toàn cục mask.
menu.instui-menuMột bề mặt dropdown gồm các mục, nhóm, và phân cách.
menu.group.groupMột tiêu đề nhóm có nhãn (InstUI Menu.Group/Menu.ItemGroup).
menu.item.itemMột mục menu (InstUI Menu.Item); thêm -disabled, -highlighted, hoặc -active/[aria-checked].
menu.separator.separatorMột đường phân chia giữa các mục (InstUI Menu.Separator).
metric.instui-metricMột thống kê có nhãn — một giá trị lớn trên một chú thích.
modal.instui-modalMột bề mặt dialog (hoạt động trên native <dialog>); gồm phần header/body/footer.
modal.body.bodyVùng nội dung (InstUI Modal.Body); một <img> đơn lẻ sẽ trải full-bleed.
modal.footer.footerHàng hành động (InstUI Modal.Footer).
modal.header.headerHàng tiêu đề (InstUI Modal.Header).
number-input.instui-number-inputMột facade input số với cột spinner +/-.
pagination.instui-paginationĐiều hướng trang: các trang đánh số, mũi tên first, previous, next, last, và dấu chấm lửng cho khoảng trống.
pagination.page.pageMột liên kết trang hoặc nút (InstUI Pagination.Page); trang hiện tại mang [aria-current].
pill.instui-pillMột nhãn trạng thái nhỏ gọn; thêm biểu tượng dẫn bằng dạng -icon-<name> chia sẻ.
popover.instui-popoverMột bề mặt nâng cho một [popover] gốc, định vị bằng CSS anchor positioning.
progress.instui-progressThanh tiến trình có giá trị xác định với meter màu, các kích thước, và nhãn giá trị tùy chọn.
progress-circle.instui-progress-circleMột vòng tiến trình tròn vận hành bằng các thuộc tính tùy chỉnh --value--value-max.
radio.instui-radioMột radio button gốc và nhãn của nó.
radio-input-group.instui-radio-input-groupMột <fieldset> radio đơn chọn, dạng plain hoặc như toggle phân đoạn kết nối.
range-input.instui-range-inputMột slider range được kiểu hóa với bong bóng giá trị đảo.
rating.instui-ratingMột xếp hạng sao với ký hiệu đầy và rỗng và nhãn số tùy chọn.
side-nav-bar.instui-side-nav-barMột thanh điều hướng dọc gồm các mục biểu tượng-trên-nhãn, với chế độ thu nhỏ chỉ còn biểu tượng.
side-nav-bar.item.itemMột mục điều hướng (InstUI SideNavBar.Item); -selected đánh dấu mục đang hoạt động.
simple-select.instui-simple-selectMột <select> gốc được định kiểu với mũi tên caret, khớp với trạng thái và kích thước của ô nhập văn bản.
spinner.instui-spinnerMột vòng tải động; gán role="status" và một aria-label.
table.instui-tableMột bảng dữ liệu được định kiểu cho thtd kèm chú thích tùy chọn, với các bố cục hover, cố định và thẻ xếp chồng.
table.bodytbodyNhóm các hàng dữ liệu của bảng (InstUI Table.Body).
table.celltdMột ô dữ liệu (InstUI Table.Cell).
table.col-headerthMột ô tiêu đề cột (InstUI Table.ColHeader); kiểu mặc định th bị ghi đè bởi table.row-header cho th[scope="row"].
table.headtheadNhóm hàng tiêu đề của bảng (InstUI Table.Head).
table.rowtrMột hàng bảng (InstUI Table.Row).
table.row-headerth[scope="row"]Một ô tiêu đề hàng (InstUI Table.RowHeader); được định kiểu từ token tiêu đề-hàng, không phải token tiêu đề-cột.
tabs.instui-tabsMột tập hợp bảng điều khiển theo thẻ: danh sách thẻ, các thẻ có thể chọn, và các bảng nội dung tương ứng.
tabs.panel.panelBảng nội dung cho một thẻ (InstUI Tabs.Panel).
tabs.tab.tabMột nút thẻ đơn (InstUI Tabs.Tab, được cấu hình qua danh sách thẻ của cha Tabs); -selected đánh dấu thẻ đang hoạt động.
tag.instui-tagMột chip nội tuyến cho từ khóa hoặc bộ lọc.
text.instui-textKiểu chữ phần thân với các biến thể kích thước, độ đậm, màu sắc và kiểu.
text-area.instui-text-areaMột <textarea> gốc được định kiểu, có thể thay đổi kích thước, với cùng trạng thái và kích thước như ô nhập văn bản.
text-input.instui-text-inputMột <input> gốc được định kiểu — bao gồm date, time, và datetime-local, nơi trình duyệt cung cấp bộ chọn — với trạng thái xác thực và kích thước.
toggle-details.instui-toggle-detailsMột disclosure gốc <details> được định kiểu với mũi tên chevron xoay.
toggle-group.instui-toggle-groupMột disclosure có viền xây dựng trên <details>: một hàng tóm tắt với chevron và phần nội dung có thể thu gọn.
tooltip.instui-tooltipMột bong bóng tooltip cho hover và focus bằng CSS, có thể định vị ở bất kỳ phía nào.
tray.instui-trayMột panel ghim mép trượt vào từ bất kỳ phía nào; một [popover] hoặc <dialog> gốc.
tree-browser.instui-tree-browserMột cây disclosure gồm các tập hợp lồng nhau và mục lá, với chevron xoay.
view.instui-viewNguyên thủy View: một hộp trung lập với các modifier key-value cho nền, viền, bán kính, đổ bóng, hiển thị, vị trí, overflow và con trỏ. Mỗi modifier này cũng có sẵn toàn cục (trơ, hoặc nối chuỗi lên bất kỳ thành phần nào) — xem các tiện ích background/border/shadow/display/position/overflow/cursor.

Tiện ích

TênLớpTóm tắt
color.--text-dangerTiện ích màu ngữ nghĩa: .--bg-<name>, .--text-<name> (bí danh là .--color-<name>), và .--border-<name> cho bảng màu ngữ nghĩa được tuyển chọn. Mỗi cái này cũng có một biến thể alias gắn với thành phần (ví dụ -bg-danger trên bất kỳ .instui-<component> nào).
cursor.--cursor-pointercursor như một lớp toàn cục có thể kết hợp — .--cursor-<value> — dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào (.instui-button.--cursor-pointer).
gap.--gap-mdCác tiện ích flex/grid gap trên thang khoảng cách, viết tắt (--gap-sm) hoặc viết đầy (--gap-small). Dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào (.instui-view.--gap-sm) — các thành phần đã đặt gap của riêng chúng từ token thành phần có thể bị ghi đè.
icon.instui-iconHệ thống biểu tượng: kích thước .instui-icon cộng bộ vẽ chung -icon-<name> che phủ glyph (trong currentColor) trước bất kỳ phần tử nào.
layout.--display-flexTiện ích hiển thị và canh lề chữ — .--display-<value>.--text-align-<value> — như các lớp toàn cục có thể kết hợp, dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào.
maskglobal.--mask-overlayBản sao toàn cục, đôi của các modifier overlay của thành phần mask--mask-overlay, --mask-fullscreen, --mask-blur — dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào, mà không cần bọc trong phần tử .instui-mask.
overflow.--overflow-x-hiddenoverflow-x/overflow-y như các lớp toàn cục có thể kết hợp — .--overflow-x-<value> / .--overflow-y-<value> — dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào.
position.--position-relativeposition như một lớp toàn cục có thể kết hợp — .--position-<value> — dùng trơ hoặc nối chuỗi lên bất kỳ thành phần nào (.instui-button.--position-relative).
responsive[class*="-hidden-"],[class*="-show-"]Các lớp ẩn/hiện theo chiều rộng cổng nhìn (viewport) hoặc chứa (container) trên thang breakpoint có chủ đề.
screen-reader-content.instui-screen-reader-contentẨn nội dung theo trực quan nhưng giữ cho công nghệ hỗ trợ tiếp cận có thể truy cập (mẫu cắt tiêu chuẩn).
spacing.--p-mdTiện ích margin và padding — .--m<side>-<step> / .--margin-<side>-<step>.--p<side>-<step> / .--padding-<side>-<step> trên thang khoảng cách (các cạnh t/b/s/e/x/y hoặc không có, viết tắt hoặc viết đầy đủ — ví dụ --mb-sm--margin-bottom-small là cùng một quy tắc; margin cũng nhận auto). Có thể dùng độc lập hoặc ghép vào bất kỳ component nào (ví dụ class="instui-view --mb-sm").
stacking.--stack-topmostTiện ích độ sâu z-index — .--stack-<level> (deepest, below, above, topmost) — có thể dùng độc lập hoặc ghép vào bất kỳ component nào, để các lớp xếp chồng có thể dự đoán thay vì dùng số điều chỉnh thủ công.
transition.instui-transition.-transition-fade-enteringLớp trạng thái hoạt hình cho component Transition.instui-transition và các lớp trạng thái (-transition-fade-entering, -transition-scale-exited, v.v.) — có thể dùng độc lập hoặc ghép vào bất kỳ component nào.
truncate.--truncateCắt bớt văn bản với dấu chấm lửng và giới hạn dòng được điều khiển bởi --lines — có thể dùng độc lập hoặc ghép vào bất kỳ component nào (.instui-button.--truncate).
visual-debug.-with-visual-debugĐường viền gỡ lỗi layout: ghép hợp thành .-with-visual-debug lên bất kỳ phần tử nào để khoanh vùng hộp và các con trực tiếp của nó, giúp cấu trúc layout hiển thị ngay lập tức.

Quy tắc

TênLớpTóm tắt
base*Reset toàn cục theo tùy chọn: box-sizing, bề mặt trang, màu chữ và font cơ bản, color-scheme, và các mặc định liên kết.
prose:where(body)Các mặc định kiểu chữ cho HTML thô — tiêu đề, đoạn văn, danh sách, liên kết và code — được áp dụng tự động ở nơi import (mặc định :where(body)); truyền options.scope để nhắm vào gốc nội dung khác nếu cần (ví dụ .vp-doc).

Plugins

TênLớpTóm tắt
logos.logosLogo sản phẩm Instructure dưới dạng token ảnh CSS: --instui-logo-<product>-<layout>-<mode> chứa data-URI SVG, vì vậy logo có thể hiển thị bằng ví dụ background-image: var(--instui-logo-canvas-horizontal-color).
primitives.instui-bg-primitive-color-whiteLớp tiện ích tùy chọn cho bảng màu primitive: .instui-bg-/fg-/border-primitive-color-<name> tô màu từ các token màu primitive, cộng với tiện ích font-family/font-weight cho token font primitive. Để riêng khỏi các tiện ích ngữ nghĩa để ghi đè ở đó vẫn chỉ mang tính ngữ nghĩa.
visual-debug.-with-visual-debugĐường viền gỡ lỗi layout: ghép hợp thành .-with-visual-debug lên bất kỳ phần tử nào để khoanh vùng hộp và các con trực tiếp của nó, giúp cấu trúc layout hiển thị ngay lập tức.

layout

TênLớpTóm tắt
calloutdiv[class~="instui-callout"]Cảnh báo thông tin nội tuyến cho lời nhắc hoặc ghi chú ngắn.
herodiv[class~="instui-hero"]Phần tiêu đề bề rộng đầy đủ với tiêu đề, phụ đề và tùy chọn hình nền.
page-layoutdiv[class~="instui-page-layout"]Bố cục trang chuẩn ba cột với header, sidebar và nội dung chính.
rubric-notediv[class~="instui-rubric-note"]Ghi chú có cấu trúc với các hạng mục rubric và chỉ báo điểm.
testimonialdiv[class~="instui-testimonial"]Hiển thị trích dẫn hoặc lời chứng thực kèm nguồn và hình ảnh tùy chọn.
two-columndiv[class~="instui-two-column"]Bố cục hai cột với vùng nội dung trái và phải.
wrapperbody[class~="instui-display-flex"]App-shell hàng: điều hướng bên, container có header, và panel tùy chọn.