1e41f4b71Sopenharmony_ci# <text> Development 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci 4e41f4b71Sopenharmony_ciThe **<text>** component is used to display a piece of textual information. For details, see [text](../reference/apis-arkui/arkui-js/js-components-basic-text.md). 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci## Creating a <text> Component 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ciCreate a **<text>** component in the .hml file under **pages/index**. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci```html 12e41f4b71Sopenharmony_ci<!-- xxx.hml --> 13e41f4b71Sopenharmony_ci<div class="container" style="text-align: center;justify-content: center; align-items: center;"> 14e41f4b71Sopenharmony_ci <text>Hello World</text> 15e41f4b71Sopenharmony_ci</div> 16e41f4b71Sopenharmony_ci``` 17e41f4b71Sopenharmony_ci 18e41f4b71Sopenharmony_ci```css 19e41f4b71Sopenharmony_ci/* xxx.css */ 20e41f4b71Sopenharmony_ci.container { 21e41f4b71Sopenharmony_ci width: 100%; 22e41f4b71Sopenharmony_ci height: 100%; 23e41f4b71Sopenharmony_ci flex-direction: column; 24e41f4b71Sopenharmony_ci align-items: center; 25e41f4b71Sopenharmony_ci justify-content: center; 26e41f4b71Sopenharmony_ci background-color: #F1F3F5; 27e41f4b71Sopenharmony_ci} 28e41f4b71Sopenharmony_ci``` 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci## Setting the Text Style and Attributes 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci- Adding a text style 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci Set the **color**, **font-size**, **allow-scale**, **word-spacing**, and **text-align** attributes to add the color, size, zoom, text spacing, and vertical alignment of the text. 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci ```html 40e41f4b71Sopenharmony_ci <!-- xxx.hml --> 41e41f4b71Sopenharmony_ci <div class="container" style="background-color:#F1F3F5;flex-direction: column;justify-content: center; align-items: center;"> 42e41f4b71Sopenharmony_ci <text style="color: blueviolet; font-size: 40px; allow-scale:true"> 43e41f4b71Sopenharmony_ci This is a passage 44e41f4b71Sopenharmony_ci </text> 45e41f4b71Sopenharmony_ci <text style="color: blueviolet; font-size: 40px; margin-top: 20px; allow-scale:true;word-spacing: 20px;" > 46e41f4b71Sopenharmony_ci This is a passage 47e41f4b71Sopenharmony_ci </text> 48e41f4b71Sopenharmony_ci </div> 49e41f4b71Sopenharmony_ci ``` 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci ```css 52e41f4b71Sopenharmony_ci /* xxx.css */ 53e41f4b71Sopenharmony_ci .container { 54e41f4b71Sopenharmony_ci width: 100%; 55e41f4b71Sopenharmony_ci height: 100%; 56e41f4b71Sopenharmony_ci flex-direction: column; 57e41f4b71Sopenharmony_ci align-items: center; 58e41f4b71Sopenharmony_ci justify-content: center; 59e41f4b71Sopenharmony_ci background-color: #F1F3F5; 60e41f4b71Sopenharmony_ci } 61e41f4b71Sopenharmony_ci ``` 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci  64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci- Adding a text modifier 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci Set the **text-decoration** and **text-decoration-color** attributes to add an underline, overline, line-through, or a combination of lines in the specified color to selected text. For values of **text-decoration**, see [Text Styles](../reference/apis-arkui/arkui-js/js-components-basic-text.md). 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci 71e41f4b71Sopenharmony_ci ```html 72e41f4b71Sopenharmony_ci <!-- xxx.hml --> 73e41f4b71Sopenharmony_ci <div class="container" style="background-color:#F1F3F5;"> 74e41f4b71Sopenharmony_ci <text style="text-decoration:underline"> 75e41f4b71Sopenharmony_ci This is a passage 76e41f4b71Sopenharmony_ci </text> 77e41f4b71Sopenharmony_ci <text style="text-decoration:line-through;text-decoration-color: red"> 78e41f4b71Sopenharmony_ci This is a passage 79e41f4b71Sopenharmony_ci </text> 80e41f4b71Sopenharmony_ci </div> 81e41f4b71Sopenharmony_ci ``` 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci ```css 84e41f4b71Sopenharmony_ci /* xxx.css */ 85e41f4b71Sopenharmony_ci .container { 86e41f4b71Sopenharmony_ci width: 100%; 87e41f4b71Sopenharmony_ci height: 100%; 88e41f4b71Sopenharmony_ci flex-direction: column; 89e41f4b71Sopenharmony_ci align-items: center; 90e41f4b71Sopenharmony_ci justify-content: center; 91e41f4b71Sopenharmony_ci } 92e41f4b71Sopenharmony_ci text{ 93e41f4b71Sopenharmony_ci font-size: 50px; 94e41f4b71Sopenharmony_ci } 95e41f4b71Sopenharmony_ci ``` 96e41f4b71Sopenharmony_ci 97e41f4b71Sopenharmony_ci  98e41f4b71Sopenharmony_ci 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci- Hiding text content 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci 103e41f4b71Sopenharmony_ciSet the **text-overflow** attribute to **ellipsis** so that overflowed text is displayed as an ellipsis. 104e41f4b71Sopenharmony_ci 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci ```html 107e41f4b71Sopenharmony_ci <!-- xxx.hml --> 108e41f4b71Sopenharmony_ci <div class="container"> 109e41f4b71Sopenharmony_ci <text class="text"> 110e41f4b71Sopenharmony_ci This is a passage 111e41f4b71Sopenharmony_ci </text> 112e41f4b71Sopenharmony_ci </div> 113e41f4b71Sopenharmony_ci ``` 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci ```css 116e41f4b71Sopenharmony_ci /* xxx.css */ 117e41f4b71Sopenharmony_ci .container { 118e41f4b71Sopenharmony_ci width: 100%; 119e41f4b71Sopenharmony_ci height: 100%; 120e41f4b71Sopenharmony_ci flex-direction: column; 121e41f4b71Sopenharmony_ci align-items: center; 122e41f4b71Sopenharmony_ci background-color: #F1F3F5; 123e41f4b71Sopenharmony_ci justify-content: center; 124e41f4b71Sopenharmony_ci } 125e41f4b71Sopenharmony_ci .text{ 126e41f4b71Sopenharmony_ci width: 200px; 127e41f4b71Sopenharmony_ci max-lines: 1; 128e41f4b71Sopenharmony_ci text-overflow:ellipsis; 129e41f4b71Sopenharmony_ci } 130e41f4b71Sopenharmony_ci ``` 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci > **NOTE** 133e41f4b71Sopenharmony_ci > - **text-overflow** must be used together with **max-lines**. 134e41f4b71Sopenharmony_ci > - **max-lines** indicates the maximum number of lines in the text. 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci  137e41f4b71Sopenharmony_ci 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci- Setting the text line breaking mode 140e41f4b71Sopenharmony_ci 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ciSet the **word-break** attribute to specify how to break lines of text. For values of **word-break**, see [Text Styles](../reference/apis-arkui/arkui-js/js-components-basic-text.md). 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci 145e41f4b71Sopenharmony_ci ```html 146e41f4b71Sopenharmony_ci <!-- xxx.hml --> 147e41f4b71Sopenharmony_ci <div class="container"> 148e41f4b71Sopenharmony_ci <div class="content"> 149e41f4b71Sopenharmony_ci <text class="text1"> 150e41f4b71Sopenharmony_ci Welcome to the world 151e41f4b71Sopenharmony_ci </text> 152e41f4b71Sopenharmony_ci <text class="text2"> 153e41f4b71Sopenharmony_ci Welcome to the world 154e41f4b71Sopenharmony_ci </text> 155e41f4b71Sopenharmony_ci </div> 156e41f4b71Sopenharmony_ci </div> 157e41f4b71Sopenharmony_ci ``` 158e41f4b71Sopenharmony_ci 159e41f4b71Sopenharmony_ci ```css 160e41f4b71Sopenharmony_ci /* xxx.css */ 161e41f4b71Sopenharmony_ci .container { 162e41f4b71Sopenharmony_ci width: 100%; 163e41f4b71Sopenharmony_ci height: 100%; 164e41f4b71Sopenharmony_ci background-color: #F1F3F5; 165e41f4b71Sopenharmony_ci flex-direction: column; 166e41f4b71Sopenharmony_ci align-items: center; 167e41f4b71Sopenharmony_ci justify-content: center; 168e41f4b71Sopenharmony_ci } 169e41f4b71Sopenharmony_ci .content{ 170e41f4b71Sopenharmony_ci width: 50%; 171e41f4b71Sopenharmony_ci flex-direction: column; 172e41f4b71Sopenharmony_ci align-items: center; 173e41f4b71Sopenharmony_ci justify-content: center; 174e41f4b71Sopenharmony_ci } 175e41f4b71Sopenharmony_ci .text1{ 176e41f4b71Sopenharmony_ci width: 100%; 177e41f4b71Sopenharmony_ci height: 200px; 178e41f4b71Sopenharmony_ci border:1px solid #1a1919; 179e41f4b71Sopenharmony_ci margin-bottom: 50px; 180e41f4b71Sopenharmony_ci text-align: center; 181e41f4b71Sopenharmony_ci word-break: break-word; 182e41f4b71Sopenharmony_ci font-size: 40px; 183e41f4b71Sopenharmony_ci } 184e41f4b71Sopenharmony_ci .text2{ 185e41f4b71Sopenharmony_ci width: 100%; 186e41f4b71Sopenharmony_ci height: 200px; 187e41f4b71Sopenharmony_ci border:1px solid #0931e8; 188e41f4b71Sopenharmony_ci text-align: center; 189e41f4b71Sopenharmony_ci word-break: break-all; 190e41f4b71Sopenharmony_ci font-size: 40px; 191e41f4b71Sopenharmony_ci } 192e41f4b71Sopenharmony_ci ``` 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci  195e41f4b71Sopenharmony_ci 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci- Setting the [<span>](../reference/apis-arkui/arkui-js/js-components-basic-span.md) child component 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci ```html 200e41f4b71Sopenharmony_ci <!-- xxx.hml --> 201e41f4b71Sopenharmony_ci <div class="container" style="justify-content: center; align-items: center;flex-direction: column;background-color: #F1F3F5; width: 100%;height: 100%;"> 202e41f4b71Sopenharmony_ci <text style="font-size: 45px;"> 203e41f4b71Sopenharmony_ci This is a passage 204e41f4b71Sopenharmony_ci </text> 205e41f4b71Sopenharmony_ci <text style="font-size: 45px;"> 206e41f4b71Sopenharmony_ci <span style="color: aqua;">This </span><span style="color: #F1F3F5;"> 1 207e41f4b71Sopenharmony_ci </span> 208e41f4b71Sopenharmony_ci <span style="color: blue;"> is a </span> <span style="color: #F1F3F5;"> 1 </span> 209e41f4b71Sopenharmony_ci <span style="color: red;"> passage </span> 210e41f4b71Sopenharmony_ci </text> 211e41f4b71Sopenharmony_ci </div> 212e41f4b71Sopenharmony_ci ``` 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci  215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci > **NOTE** 217e41f4b71Sopenharmony_ci > - When the **<span>** child component is used to form a text paragraph, incorrect **<span>** attribute settings (for example, setting of **font-weight** to **1000**) will result in abnormal display of the text paragraph. 218e41f4b71Sopenharmony_ci > 219e41f4b71Sopenharmony_ci > - When the **<span>** child component is being used, do not include any text you want to show in the **<text>** component, as such text will not be displayed if you do so. 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci 222e41f4b71Sopenharmony_ci## Example Scenario 223e41f4b71Sopenharmony_ci 224e41f4b71Sopenharmony_ciUse the **<text>** component to display text content through data binding. Use the **<span>** child component to hide or display text content by setting the **show** attribute. 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci```html 227e41f4b71Sopenharmony_ci<!-- xxx.hml --> 228e41f4b71Sopenharmony_ci<div class="container"> 229e41f4b71Sopenharmony_ci <div style="align-items: center;justify-content: center;"> 230e41f4b71Sopenharmony_ci <text class="title"> 231e41f4b71Sopenharmony_ci {{ content }} 232e41f4b71Sopenharmony_ci </text> 233e41f4b71Sopenharmony_ci <switch checked="true" onchange="test"></switch> 234e41f4b71Sopenharmony_ci </div> 235e41f4b71Sopenharmony_ci <text class="span-container" style="color: #ff00ff;"> 236e41f4b71Sopenharmony_ci <span show="{{isShow}}"> {{ content }} </span> 237e41f4b71Sopenharmony_ci <span style="color: white;"> 238e41f4b71Sopenharmony_ci 1 239e41f4b71Sopenharmony_ci </span> 240e41f4b71Sopenharmony_ci <span style="color: #f76160">Hide clip </span> 241e41f4b71Sopenharmony_ci </text> 242e41f4b71Sopenharmony_ci</div> 243e41f4b71Sopenharmony_ci``` 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci```css 246e41f4b71Sopenharmony_ci/* xxx.css */ 247e41f4b71Sopenharmony_ci.container { 248e41f4b71Sopenharmony_ci width: 100%; 249e41f4b71Sopenharmony_ci height: 100%; 250e41f4b71Sopenharmony_ci align-items: center; 251e41f4b71Sopenharmony_ci flex-direction: column; 252e41f4b71Sopenharmony_ci justify-content: center; 253e41f4b71Sopenharmony_ci background-color: #F1F3F5; 254e41f4b71Sopenharmony_ci} 255e41f4b71Sopenharmony_ci.title { 256e41f4b71Sopenharmony_ci font-size: 26px; 257e41f4b71Sopenharmony_ci text-align:center; 258e41f4b71Sopenharmony_ci width: 200px; 259e41f4b71Sopenharmony_ci height: 200px; 260e41f4b71Sopenharmony_ci} 261e41f4b71Sopenharmony_ci``` 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci```js 264e41f4b71Sopenharmony_ci// xxx.js 265e41f4b71Sopenharmony_ciexport default { 266e41f4b71Sopenharmony_ci data: { 267e41f4b71Sopenharmony_ci isShow:true, 268e41f4b71Sopenharmony_ci content: 'Hello World' 269e41f4b71Sopenharmony_ci }, 270e41f4b71Sopenharmony_ci onInit(){ }, 271e41f4b71Sopenharmony_ci test(e) { 272e41f4b71Sopenharmony_ci this.isShow = e.checked 273e41f4b71Sopenharmony_ci } 274e41f4b71Sopenharmony_ci} 275e41f4b71Sopenharmony_ci``` 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_ci