跳到主要内容

文本链接
就绪
Storybook

TextLink 组件渲染一个锚点标签 <a>,用于将用户导航到另一个页面,可以是 Grafana 外部或内部的页面。

加载中...
实时编辑器
<TextLink href="https://google.com" external>
  Go to Google
</TextLink>

用法

何时使用

  • 用于将用户重定向到另一个页面,可以是外部或内部页面。
  • 当在段落内的单词或短语中使用链接将用户重定向时。
  • 当在单词或短语中使用链接将用户重定向时,该单词或短语不在段落内,但被其他文本块包围。

何时不使用

  • 当其目的是触发某个操作时,请使用 Button 或 IconButton 组件。
  • 当它仍然将用户重定向,但应具有与按钮相同的外观时,请使用 LinkButton 组件。
  • 当链接仅由图标组成时,请使用 IconButton 组件。

建议

  • 将默认样式作为首选和主要选项,因为它们旨在实现可访问性和一致性。
  • 当 TextLink 指向外部页面时,使用外部图标(默认图标),因为其含义被广泛知晓。
  • 如果默认图标不适用,请使用我们图标库中的一个图标。

不建议

  • 不要在独立链接中使用“primary”颜色,除非是特殊用例,例如“仪表盘列表”、菜单项或类似情况。
  • 不要以任何方式覆盖任何样式。相反,请咨询设计系统团队以改进此组件。
  • 不要尝试添加新图标。您应该遵循贡献流程,首先将图标添加到我们的设计系统中,然后再在此组件中使用它。

内容

  • TextLink 组件主要包含文本,并可选择包含一个图标。
  • 使链接文本非常清晰地说明后续页面是关于什么的。
  • 避免使用诸如 “点击此处”“更多”“阅读更多” 等短语,除非它们位于卡片组件或类似组件中。不要将它们用作独立的链接文本,因为当屏幕阅读器在没有上下文的情况下读取它们时,可能会引起混淆。
  • 每个段落最多有两个链接。
  • 链接文本应简短扼要。
  • 链接文本不要以冠词开头:aanthe
  • 避免链接整个句子;最多使用四到五个单词。

类型

在 Grafana 中,有两种不同类型的 文本链接:内联或独立。它们可以被文本包围,也可以作为独立元素存在。

类型目的
内联它是更广泛文本的一部分。它会被文本包围,可能在之前、之后或双向。尽管它末尾可以显示一个图标,但我们建议不要这样做。
独立它是一个未被更多文本立即包围的块。

子类型

内联和独立的 文本链接 都会将用户重定向到特定页面。因此,根据其功能,它们可以是内部链接或外部链接。

子类型目的
内部将用户重定向到 Grafana 内部的页面。
外部将用户重定向到 Grafana 外部的页面。该页面将在新窗口中打开,因为我们使用 target="_blank"rel="noreferrer" 来确保这是一个安全的跨源目标链接。默认情况下,外部 文本链接 会显示 external-link-alt 图标。

格式

结构

  • 文本:链接文本告知用户将被导航到何处。
  • 图标:图标提供有关目标的上下文。例如,默认情况下,外部链接将显示“external-link-alt”图标。如果链接指向同一页面的另一部分,图标可能是“anchor”。

位置

  • 内联:(默认)内联文本链接将遵循其周围文本的对齐方式。
  • 独立:这种类型的文本链接需要一个父元素/容器来设置适当的显示值。

行为

以下是默认行为,将根据其类型应用。

  1. 内联

    默认:蓝色且带下划线。用户可以通过 color prop 更改此值,但其余部分将保持不变。

    悬停时:蓝色且不带下划线。

  2. 独立

    默认:蓝色且不带下划线。

    悬停时:蓝色且带下划线。

间距

  • 文本与图标之间:间距设置为 0.5em,因此它会随着字体大小的变化而自适应。
  • 文本本身:未应用外边距或内边距。
  • 块文本与文本链接之间的空间未被修改,因此将与段落单词之间的现有空间相同。

可访问性

  • 包含链接的文本应提供信息。
  • 除了链接文本外,还可以使用 aria-describedby 属性为屏幕阅读器提供额外文本。
  • 辅助技术可能会将 ARIA label 视为替换链接文本,因此如果需要更多上下文,请使用 aria-describedby。

延伸阅读与资源

演练场