Typography
Basic text writing, including headings, body text, lists, and more.
When To Use
- When you need to display a title or paragraph contents in Articles/Blogs/Notes.
- When you need copyable/editable/ellipsis texts.
Examples
-
Basic ·
basic -
Title Component ·
title -
Text and Link Component ·
text -
Editable ·
editable -
Copyable ·
copyable -
Ellipsis ·
ellipsis -
Controlled ellipsis expand/collapse ·
ellipsis-controlled -
Ellipsis from middle ·
ellipsis-middle -
suffix ·
suffix -
Table ·
table
API
Common props ref:Common props
Typography.Text
| Property | Description | Type | Default | Version | Global Config |
|---|---|---|---|---|---|
| actions | Configure the operation bar | actions | - | 6.4.0 | × |
| classNames | Customize class for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string> | - | 6.4.0 | 6.4.0 |
| code | Code style | boolean | false | × | |
| copyable | Whether to be copyable, customize it via setting an object | boolean | copyable | false | × | |
| delete | Deleted line style | boolean | false | × | |
| disabled | Disabled content | boolean | false | × | |
| editable | If editable. Can control edit state when is object | boolean | editable | false | × | |
| ellipsis | Display ellipsis when text overflows, can't configure expandable, rows and onExpand by using object. Diff with Typography.Paragraph, Text do not have 100% width style which means it will fix width on the first ellipsis. If you want to have responsive ellipsis, please set width manually | boolean | Omit<ellipsis, 'expandable' | 'rows' | 'onExpand'> | false | × | |
| italic | Italic style | boolean | false | 4.16.0 | × |
| keyboard | Keyboard style | boolean | false | 4.3.0 | × |
| mark | Marked style | boolean | false | × | |
| strong | Bold style | boolean | false | × | |
| styles | Customize inline style for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties> | - | 6.4.0 | 6.4.0 |
| type | Content type | secondary | success | warning | danger | - | success: 4.6.0 | × |
| underline | Underlined style | boolean | false | × | |
| onClick | Set the handler to handle click event | (event) => void | - | × |
Typography.Title
| Property | Description | Type | Default | Version | Global Config |
|---|---|---|---|---|---|
| actions | Configure the operation bar | actions | - | 6.4.0 | × |
| classNames | Customize class for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string> | - | 6.4.0 | 6.4.0 |
| code | Code style | boolean | false | × | |
| copyable | Whether to be copyable, customize it via setting an object | boolean | copyable | false | × | |
| delete | Deleted line style | boolean | false | × | |
| disabled | Disabled content | boolean | false | × | |
| editable | If editable. Can control edit state when is object | boolean | editable | false | × | |
| ellipsis | Display ellipsis when text overflows, can configure rows and expandable by using object | boolean | ellipsis | false | × | |
| italic | Italic style | boolean | false | 4.16.0 | × |
| level | Set content importance. Match with h1, h2, h3, h4, h5 | number: 1, 2, 3, 4, 5 | 1 | 5: 4.6.0 | × |
| mark | Marked style | boolean | false | × | |
| styles | Customize inline style for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties> | - | 6.4.0 | 6.4.0 |
| type | Content type | secondary | success | warning | danger | - | success: 4.6.0 | × |
| underline | Underlined style | boolean | false | × | |
| onClick | Set the handler to handle click event | (event) => void | - | × |
Typography.Paragraph
| Property | Description | Type | Default | Version | Global Config |
|---|---|---|---|---|---|
| actions | Configure the operation bar | actions | - | 6.4.0 | × |
| classNames | Customize class for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, string> | (info: { props })=> Record<SemanticDOM, string> | - | 6.4.0 | 6.4.0 |
| code | Code style | boolean | false | × | |
| copyable | Whether to be copyable, customize it via setting an object | boolean | copyable | false | × | |
| delete | Deleted line style | boolean | false | × | |
| disabled | Disabled content | boolean | false | × | |
| editable | If editable. Can control edit state when is object | boolean | editable | false | × | |
| ellipsis | Display ellipsis when text overflows, can configure rows and expandable by using object | boolean | ellipsis | false | × | |
| italic | Italic style | boolean | false | 4.16.0 | × |
| mark | Marked style | boolean | false | × | |
| strong | Bold style | boolean | false | × | |
| styles | Customize inline style for each semantic structure inside the component. Supports object or function. | Record<SemanticDOM, CSSProperties> | (info: { props })=> Record<SemanticDOM, CSSProperties> | - | 6.4.0 | 6.4.0 |
| type | Content type | secondary | success | warning | danger | - | success: 4.6.0 | × |
| underline | Underlined style | boolean | false | × | |
| onClick | Set the handler to handle click event | (event) => void | - | × |
actions
{
placement: 'start' | 'end',
}
| Property | Description | Type | Default | Version |
|---|---|---|---|---|
| placement | Set the operation bar placement relative to the text | start | end | end | 6.4.0 |
copyable
{
text: string | (() => string | Promise<string>),
onCopy: function(event),
icon: ReactNode,
tooltips: false | [ReactNode, ReactNode],
format: 'text/plain' | 'text/html',
tabIndex: number,
}
| Property | Description | Type | Default | Version |
|---|---|---|---|---|
| format | The Mime Type of the text | 'text/plain' | 'text/html' | - | 4.21.0 |
| icon | Custom copy icon: [copyIcon, copiedIcon] | [ReactNode, ReactNode] | - | 4.6.0 |
| tabIndex | Set tabIndex of the copy button | number | 0 | 5.17.0 |
| text | The text to copy | string | - | |
| tooltips | Custom tooltip text, hide when it is false | [ReactNode, ReactNode] | [Copy, Copied] | 4.4.0 |
| onCopy | Called when copied text | function | - |
editable
{
icon: ReactNode,
tooltip: ReactNode,
editing: boolean,
maxLength: number,
autoSize: boolean | { minRows: number, maxRows: number },
text: string,
onChange: function(string),
onCancel: function,
onStart: function,
onEnd: function,
triggerType: ('icon' | 'text')[],
enterIcon: ReactNode,
tabIndex: number,
}
| Property | Description | Type | Default | Version |
|---|---|---|---|---|
| autoSize | autoSize attribute of textarea | boolean | { minRows: number, maxRows: number } | - | 4.4.0 |
| editing | Whether to be editable | boolean | false | |
| enterIcon | Custom "enter" icon in the edit field (passing null removes the icon) | ReactNode | <EnterOutlined /> | 4.17.0 |
| icon | Custom editable icon | ReactNode | <EditOutlined /> | 4.6.0 |
| maxLength | maxLength attribute of textarea | number | - | 4.4.0 |
| tabIndex | Set tabIndex of the edit button | number | 0 | 5.17.0 |
| text | Edit text, specify the editing content instead of using the children implicitly | string | - | 4.24.0 |
| tooltip | Custom tooltip text, hide when it is false | ReactNode | Edit | 4.6.0 |
| triggerType | Edit mode trigger - icon, text or both (not specifying icon as trigger hides it) | Array<icon|text> | [icon] | |
| onCancel | Called when type ESC to exit editable state | function | - | |
| onChange | Called when editing is completed | function(value: string) | - | |
| onEnd | Called when type ENTER to exit editable state | function | - | 4.14.0 |
| onStart | Called when enter editable state | function | - |
ellipsis
interface EllipsisConfig {
rows: number;
/** `collapsible` added in `5.16.0` */
expandable: boolean | 'collapsible';
suffix: string;
/** render function added in `5.16.0` */
symbol: ReactNode | ((expanded: boolean) => ReactNode);
tooltip: ReactNode | TooltipProps;
/** added in `5.16.0` */
defaultExpanded: boolean;
/** added in `5.16.0` */
expanded: boolean;
/** `info` added in `5.16.0` */
onExpand: (event: MouseEvent, info: { expanded: boolean }) => void;
onEllipsis: (ellipsis: boolean) => void;
}
| Property | Description | Type | Default | Version |
|---|---|---|---|---|
| defaultExpanded | Default expand or collapse | boolean | 5.16.0 | |
| expandable | Whether to be expandable | boolean | 'collapsible' | - | collapsible: 5.16.0 |
| expanded | Expand or Collapse | boolean | 5.16.0 | |
| rows | Max rows of content | number | - | |
| suffix | Suffix of ellipsis content | string | - | |
| symbol | Custom description of ellipsis | ReactNode | ((expanded: boolean) => ReactNode) | Expand Collapse | |
| tooltip | Show tooltip when ellipsis | ReactNode | TooltipProps | - | 4.11.0 |
| onEllipsis | Called when enter or leave ellipsis state | function(ellipsis) | - | 4.2.0 |
| onExpand | Called when expand content | function(event, { expanded: boolean }) | - | info: 5.16.0 |
Semantic DOM
| Semantic node | Native description | Version |
|---|---|---|
root | Root element with base typography styles, layout, and positioning | 6.4.0 |
actions | Actions element with layout and spacing styles for copy, edit, expand/collapse buttons | 6.4.0 |
action | Individual action button element including copy, edit, expand, collapse button styles like padding, border radius, colors, etc. | 6.4.0 |
textarea | TextArea element in editable mode, used to customize className and inline styles for the edit input | 6.4.0 |
Semantic description source: vendor/components/typography/demo/_semantic.tsx
Design Token
Types, inheritance and declarations retain the pinned native source. Defaults are computed by the native theme and may be overridden by ConfigProvider; this table does not invent static defaults.
| Token | Type | Native description |
|---|---|---|
titleMarginTop | number | string | Margin top of title |
titleMarginBottom | number | string | Margin bottom of title |
Declaration source: vendor/components/typography/style/index.ts
import type { CSSObject } from '@ant-design/cssinjs';
import { operationUnit } from '../../style';
import type { FullToken, GenerateStyle, GetDefaultToken } from '../../theme/internal';
import { genStyleHooks } from '../../theme/internal';
import {
getCopyableStyles,
getEditableStyles,
getEllipsisStyles,
getLinkStyles,
getResetStyles,
getTitleStyles,
} from './mixins';
/** Component only token. Which will handle additional calculation of alias token */
export interface ComponentToken {
/**
* @desc 标题上间距
* @descEN Margin top of title
*/
titleMarginTop: number | string;
/**
* @desc 标题下间距
* @descEN Margin bottom of title
*/
titleMarginBottom: number | string;
}
export type TypographyToken = FullToken<'Typography'>;
Shared native props
Tips: The following generic properties apply to most antd components; those not supported are described separately.
| Property | Description | Type | Default |
|---|---|---|---|
| style | The additional style | CSSProperties | - |
| className | The additional css class | string | - |
| rootClassName | ClassName on the root element | string | - |
| autoFocus | Auto focus when component mounted, only effective for focusable elements like forms, links, etc. | boolean | false |
Install and reproduce an example
npm install antd@6.6.5 @ant-design/icons@6.3.4 dayjs@1.11.23
Use ConfigProvider and native App; configure dayjs locale separately. Each example lists its complete source files and additional pinned dependencies in View code. Example names select demos, not universal component props. See the resource setup guide for theme, locale and SSR.
Native type references
The source viewer includes unchanged native implementations and the following source declarations. Inherited types remain in their native packages. English source comments are preserved as code reference.
vendor/components/typography/Base/CopyBtn.tsxvendor/components/typography/Base/Ellipsis.tsxvendor/components/typography/Base/EllipsisTooltip.tsxvendor/components/typography/Base/index.tsxvendor/components/typography/Editable.tsxvendor/components/typography/Link.tsxvendor/components/typography/Paragraph.tsxvendor/components/typography/Text.tsxvendor/components/typography/Title.tsxvendor/components/typography/Typography.tsxvendor/components/typography/index.tsxvendor/components/typography/style/index.ts
Source and license
https://github.com/ant-design/ant-design/tree/4a39f54842eade4e565ab336ef6097cd7e723cdd
Original bilingual prose and executable examples are retained. Website-only embeds and token tables are expanded locally. Ant Design is MIT; separately listed dependency notices also apply. Upload previews block outbound requests and do not provide a backend.