Skip to content

CSS: alert

.instui-alert · stable — 一則帶有狀態色條與來自共用圖示集的遮罩狀態圖示的內嵌訊息。

自訂的 -icon-<name> 會替換狀態圖示,但保留該變體的彩色色條;色條填充在更高特異性下會被重新指定,因此共用圖示繪製器不會覆蓋它。直接的關閉按鈕預設為 small;加入大小修飾符可覆寫它。

Source: alert.css

TIP

JS 加強 — 此元件的 CSS 可獨立呈現與運作;與 @pantoken/interactions 搭配可加入互動行為。其 -timeout 修飾符由該行為驅動。參見下方的 modifier table

無障礙

對於重要訊息,新增 role="alert" 或一個 aria-live 區域以便輔助技術能夠宣告;關閉控制是一個已標示的關閉按鈕(範例中的 .instui-close-button 帶有 aria-label="Close")。

使用方法

css
@import "@pantoken/components/components.css";
@import "@pantoken/components/alert.css";

範例

html
<div class="instui-alert -icon-megaphone --mb-md">
  An alert with the default <code>info</code> color, and a custom icon.
</div>
<div class="instui-alert -color-success">
  Congratulations! You're using the "success" color.
  <button class="instui-close-button" aria-label="Close"></button>
</div>

結構

text
.instui-alert
  ‹content›
  close-button (component, 0..1)
flowchart TD n0[".instui-alert"]:::cssdoc-root n1[/"‹content›"/]:::cssdoc-slot n2(["close-button"]):::cssdoc-component n0 --> n1 n0 -.->|0..1| n2 click n2 "/api/css/close-button.md" classDef cssdoc-root stroke-width:1px; classDef cssdoc-part stroke-width:1px; classDef cssdoc-slot stroke-width:1px; classDef cssdoc-component stroke-width:1px;

插槽

插槽說明
content警示的訊息內容;可包含一個關閉按鈕。

修飾器

修飾器說明
.-color-danger錯誤訊息。
.-color-info資訊性(預設)。
.-color-success正向/確認訊息。
.-color-warning警示/注意訊息。
.-has-shadow-falseAlias — maps to .-without-shadow.
.-icon-*用自訂圖示替換狀態圖示(例如 -icon-megaphone),在變體的彩色色條上保持為白色。
.-render-custom-icon-*已棄用 — The former renderCustomIcon prop; still works as an alias, but use -icon-<name> (or override --pantoken-alert-glyph) instead.
.-screen-reader-only視覺上隱藏但會被宣告。
.-timeoutInteraction — The alert will automatically dismiss after a default of 5 seconds.
.-timeout-1自動關閉前一秒。
.-timeout-2自動關閉前兩秒。
.-timeout-3自動關閉前三秒。
.-timeout-4自動關閉前四秒。
.-timeout-5自動關閉前五秒。
.-variant-error已棄用 — use .-color-danger.
.-variant-info已棄用 — use .-color-info.
.-variant-success已棄用 — use .-color-success.
.-variant-warning已棄用 — use .-color-warning.
.-without-shadow移除預設的浮雕陰影(InstUI hasShadow={false})。

偽元素

偽元素說明
::after白色狀態圖示,被遮罩並置中於色條上。
::before實心的變體彩色狀態色條,與圓角起始邊緣齊平。

自訂屬性

屬性型別預設說明
--pantoken-alert-glyph<url>低階的狀態圖示來源;-icon-<name> 會為你設定。可覆寫為自訂圖示(URL 編碼的 SVG)。
--pantoken-alert-icon-bg<color>圖示後方的彩色狀態色條填充;每個 -color-* 變體會設定其自己的填充。
--timeout<integer>自動關閉前的毫秒數;0 可停用。需要 alert 互動套件。

已使用的代幣

Token型別
--instui-component-alert-background<color>LightDarklight-dark(#ffffff, #171B21)
--instui-component-alert-border-radius<length>0.75rem
--instui-component-alert-border-stylesolid
--instui-component-alert-border-width<length>0.125rem
--instui-component-alert-color<color>LightDarklight-dark(#273540, #ffffff)
--instui-component-alert-content-font-family[ <font-family-name> | <generic-font-family> ]#Atkinson Hyperlegible Next, "Helvetica Neue", Helvetica, Arial, sans-serif
--instui-component-alert-content-font-size<length>1rem
--instui-component-alert-content-font-weight<integer>400
--instui-component-alert-content-line-height<percentage>125%
--instui-component-alert-content-padding-horizontal<length>1.5rem
--instui-component-alert-content-padding-vertical<length>0.75rem
--instui-component-alert-danger-border-color<color>#E62429
--instui-component-alert-danger-icon-background<color>#E62429
--instui-component-alert-icon-color<color>#ffffff
--instui-component-alert-info-border-color<color>#2B7ABC
--instui-component-alert-info-icon-background<color>#2B7ABC
--instui-component-alert-success-border-color<color>#03893D
--instui-component-alert-success-icon-background<color>#03893D
--instui-component-alert-warning-border-color<color>#CF4A00
--instui-component-alert-warning-icon-background<color>#CF4A00
--instui-component-base-button-medium-height<length>2.5rem
--instui-component-base-button-small-height<length>2rem
--instui-elevation-abovenone | <shadow>#
--instui-icon-circle-check<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m9%2012%202%202%204-4%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-circle-x<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22m15%209-6%206%22%2F%3E%3Cpath%20d%3D%22m9%209%206%206%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-info<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210%22%2F%3E%3Cpath%20d%3D%22M12%2016v-4%22%2F%3E%3Cpath%20d%3D%22M12%208h.01%22%2F%3E%3C%2Fsvg%3E')
--instui-icon-triangle-alert<image>url('data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m21.73%2018-8-14a2%202%200%200%200-3.48%200l-8%2014A2%202%200%200%200%204%2021h16a2%202%200%200%200%201.73-3%22%2F%3E%3Cpath%20d%3D%22M12%209v4%22%2F%3E%3Cpath%20d%3D%22M12%2017h.01%22%2F%3E%3C%2Fsvg%3E')
--instui-spacing-space-xs<length>0.25rem
--pantoken-glyph<url>url("data:image/svg+xml

子元件

相關