Skip to content

CSS: alert

.instui-alert · 稳定 — 带有状态色条和来自共享图标集合的遮罩状态图标的内联消息。

自定义 -icon-<name> 会替换状态图标,但保留该变体的彩色条;条的填充在更高优先级处被重新应用,以防共享图标绘制器覆盖它。直接的关闭按钮默认为小号;添加大小修饰符以覆盖它。

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

子组件

相关