---
localeCode: zh-CN
order: 65
category: 反馈类
title: Banner 通知横幅
icon: doc-banner
dir: column
brief: 横幅通常用于标识全页的状态或通知等。它通常是常驻的,需要用户主动将其关闭。
---
## 代码演示
### 如何引入
```jsx import
import { Banner } from '@douyinfe/semi-ui';
```
### 基本用法
```jsx live=true dir="column"
import React, { useState } from 'react';
import { Banner, Layout, Button } from '@douyinfe/semi-ui';
() => {
const [visible, setVisible] = useState(false);
const changeVisible = () => {
setVisible(!visible);
};
const { Header, Footer, Content } = Layout;
const banner = (
);
return (
<>
{visible? banner : null}
Content
>
);
};
```
### 不同类型
支持4种类型:`info`、`warning`、`danger`、`success`。默认为 `info`。
```jsx live=true dir="column"
import React from 'react';
import { Banner } from '@douyinfe/semi-ui';
() => (
<>
>
);
```
### 非全屏模式
可以设置 `fullMode={false}` 使用非全屏模式的 banner 样式。
通过 `bordered` 属性可以设置边框。
```jsx live=true dir="column"
import React from 'react';
import { Banner, Typography } from '@douyinfe/semi-ui';
function Demo() {
const { Text } = Typography;
return (
不知道 AppKey?
}
description={你可先联系对应的研发同学,确认是否已在 应用云平台 申请了应用,并填写对应的信息。
}
/>
不知道 AppKey?}
description={你可先联系对应的研发同学,确认是否已在 应用云平台 申请了应用,并填写对应的信息。
}
/>
不知道 AppKey?}
description={你可先联系对应的研发同学,确认是否已在 应用云平台 申请了应用,并填写对应的信息。
}
/>
不知道 AppKey?}
description={你可先联系对应的研发同学,确认是否已在 应用云平台 申请了应用,并填写对应的信息。
}
/>
);
}
```
```
.components-banner-demo {
.semi-banner-info.semi-banner-bordered {
border: 1px solid var(--semi-color-primary-disabled);
}
.semi-banner-warning.semi-banner-bordered {
border: 1px solid var(--semi-color-warning-light-active);
}
.semi-banner-danger.semi-banner-bordered {
border: 1px solid var(--semi-color-danger-light-active);
}
.semi-banner-success.semi-banner-bordered {
border: 1px solid var(--semi-color-success-light-active);
}
}
```
### 自定义内容
可以通过 children 自定义其他渲染内容。
```jsx live=true dir="column"
import React from 'react';
import { Banner } from '@douyinfe/semi-ui';
() => (
);
```
## API参考
| 属性 | 说明 | 类型 | 默认值 | 版本 |
|-------|-------------|-----------------|--------| --- |
| bordered | 是否展示边框,仅在非全屏模式下有效 | boolean | false | 1.0 |
| className | 类名 | string | - | - |
| closeIcon | 自定义关闭icon,为 null 时不显示关闭按钮 | string\| ReactNode | - | 1.0 |
| description | 描述内容 | ReactNode | - | 1.0 |
| fullMode| 是否为全屏模式 | boolean | true | 1.0 |
| icon | 自定义 icon,为 null 时不显示 icon | string\| ReactNode | - | 1.0 |
| onClose | 关闭时的回调函数 | function | - | - |
| style | 样式名 | object | - | - |
| title | 标题 | ReactNode | - | 1.0 |
| type | 类型,支持 `info`, `success`, `danger`, `warning` | string | `info` | - |
## Accessibility
### ARIA
- 组件的 `role` 为 'alert'
- 关闭按钮的 `aria-label` 为 'Close'
### 键盘和焦点
- Banner 的关闭按钮可以使用 `Tab` 键聚焦,按钮聚焦后,敲击 `Enter` 键或 `Space` 键可以关闭 banner
## 文案规范
- 全屏 Banner
- 尽量保持内容一行展示完全
- 使用正确的标点符号,句子内使用逗号,句子间使用句号
- 非全屏 Banner
- 标题
- 使用精简的语言进行说明
- 标题上尽量避免使用逗号,句号等标点符号,有且只有是疑问句的时候,支持使用问号结尾
- 正文
- 在信息传递完整的前提下,尽可能地将正文压缩至 1 -2 句话
- 对标题进行详尽地描述或者解释,而不是对标题的重复说明
- 使用正确的标点符号,句子内使用逗号,句子间使用句号
## 设计变量