DEV Community

loading...
Cover image for Truncating Text using Chakra UI

Truncating Text using Chakra UI

Esther Agbaje
Front End Developer | Technical Writer | Developer Advocate | My posts are newbie friendly and easy to understand.
・2 min read

When designing a component, you might need to truncate the displayed text to a fixed number of lines and show an ellipsis.

This is possible using some CSS properties such as overflow: hidden; and text-overflow: ellipsis;. However, we would be focusing on how to truncate text using Chakra UI.

Alt Text

Example: Let's dive into how to truncate the Text below

<Text>
  In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is available.
</Text>
Enter fullscreen mode Exit fullscreen mode

There are 2 ways to truncate Text in Chakra UI:

1. Passing isTruncated prop

The isTruncated prop renders an ellipsis(...) when the text exceeds the width of the viewport or maxWidth prop.

<Text isTruncated>
  In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is available.
</Text>
Enter fullscreen mode Exit fullscreen mode

See truncated text below
Alt Text

Note that when using this prop, responsive truncation is automatically set across all screens.

2. Passing noOfLines prop

Just as the name implies, this prop is used to truncate the text to a specific number of lines. Simply pass the noOfLines prop and set it to the desired no of lines.

<Text noOfLines={3}>
  In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is available.
</Text>
Enter fullscreen mode Exit fullscreen mode

Setting responsiveness using noOfLines
You may want to specify the number of lines the text should be truncated to on different devices. Doing this is pretty straightforward using Chakra's Array Syntax

<Text noOfLines={[1,2]}>
  In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before the final copy is available.
</Text>
Enter fullscreen mode Exit fullscreen mode

See truncated text on Desktop
Alt Text

See truncated text on Mobile
Alt Text

Quick Note: If you are new to Chakra UI and would love to get started, visit the Getting Started Docs

Discussion (0)