• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# text
2<!--Kit: ArkUI-->
3<!--Subsystem: ArkUI-->
4<!--Owner: @xiangyuan6-->
5<!--Designer: @pssea-->
6<!--Tester: @jiaoaozihao-->
7<!--Adviser: @HelloCrease-->
8
9
10文本,用于呈现一段信息。
11
12> **说明:**
13>
14> 从API Version 8 开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
15
16
17## 子组件
18
19支持&lt;[span](js-service-widget-basic-span.md)&gt;。
20
21
22## 属性
23
24支持[通用属性](js-service-widget-common-attributes.md)。
25
26
27## 样式
28
29除支持[通用样式](js-service-widget-common-styles.md)外,还支持如下样式:
30
31| 名称 | 类型 | 默认值 | 必填 | 描述 |
32| -------- | -------- | -------- | -------- | -------- |
33| color | &lt;color&gt; | - | 否 | 设置文本的颜色。 |
34| font-size | &lt;length&gt; | 16px | 否 | 设置文本的尺寸。 |
35| letter-spacing | &lt;length&gt; | 0px | 否 | 设置文本的字符间距。 |
36| font-style | string | normal | 否 | 设置文本的字体样式,可选值为:<br/>-&nbsp;normal:标准的字体样式;<br/>-&nbsp;italic:斜体的字体样式。 |
37| font-weight | number&nbsp;\|&nbsp;string | normal | 否 | 设置文本的字体粗细,number类型取值[100,&nbsp;900],默认为400,取值越大,字体越粗。<br/>-&nbsp;number取值必须为100的整数倍。<br/>- string类型取值支持如下四个值:lighter、normal、bold、bolder。 |
38| text-decoration | string | none | 否 | 设置文本的文本修饰,可选值为:<br/>-&nbsp;underline:文字下划线修饰;<br/>-&nbsp;line-through:穿过文本的修饰线;<br/>-&nbsp;none:标准文本。 |
39| text-align | string | start | 否 | 设置文本的文本对齐方式,可选值为:<br/>-&nbsp;left:文本左对齐;<br/>-&nbsp;center:文本居中对齐;<br/>-&nbsp;right:文本右对齐;<br/>-&nbsp;start:根据文字书写相同的方向对齐;<br/>-&nbsp;end:根据文字书写相反的方向对齐。<br/>&nbsp;如文本宽度未指定大小,文本的宽度和父容器的宽度大小相等的情况下,对齐效果可能会不明显。 |
40| line-height | &lt;length&gt; | 0px | 否 | 设置文本的文本行高,设置为0px时,不限制文本行高,自适应字体大小。 |
41| text-overflow | string | clip | 否 | 在设置了最大行数的情况下生效,可选值为:<br/>-&nbsp;clip:将文本根据父容器大小进行裁剪显示;<br/>-&nbsp;ellipsis:根据父容器大小显示,显示不下的文本用省略号代替。需配合max-lines使用。 |
42| font-family | string | sans-serif<br/><br/> | 否 | 设置文本的字体列表,用逗号分隔,每个字体用字体名或者字体族名设置。列表中第一个系统中存在的或者通过[自定义字体](js-service-widget-common-customizing-font.md)指定的字体,会被选中作为文本的字体。 |
43| max-lines | number | - | 否 | 设置文本的最大行数。 |
44| min-font-size | &lt;length&gt; | - | 否 | 文本最小字号,需要和文本最大字号同时设置,支持文本字号动态变化。设置最大最小字体样式后,font-size不生效。 |
45| max-font-size | &lt;length&gt; | - | 否 | 文本最大字号,需要和文本最小字号同时设置,支持文本字号动态变化。设置最大最小字体样式后,font-size不生效。 |
46| font-size-step | &lt;length&gt; | 1px | 否 | 文本动态调整字号时的步长,需要设置最小,最大字号样式生效。 |
47| prefer-font-sizes | &lt;array&gt; | - | 否 | 预设的字号集合,在动态尺寸调整时,优先使用预设字号集合中的字号匹配设置的最大行数,如果预设字号集合未设置,则使用最大最小和步长调整字号。针对仍然无法满足最大行数要求的情况,使用text-overflow设置项进行截断,设置预设尺寸集后,font-size、max-font-size、min-font-size和font-size-step不生效。<br/>如:prefer-font-sizes:&nbsp;12px,14px,16px |
48| word-break | string | normal | 否 | 设置文本折行模式,可选值为:<br/>-&nbsp;normal:默认换行规则,依据各自语言的规则,允许在字间发生换行。<br/>-&nbsp;break-all:对于非中文/日文/韩文的文本,可在任意字符间断行。<br/>-&nbsp;break-word:与break-all相同,不同的地方在于它要求一个没有断行破发点的词必须保持为一个整体单位。 |
49
50> **说明:**
51> - 字体动态缩放:预设尺寸集合和最小最大字号调节基于是否满足最大行数要求,预设尺寸集合会按照从左到右顺序查看是否满足最大行数要求,最小最大字号调节则基于从大到小顺序查看是否满足最大行数要求。
52>
53> - 文本换行:文本可以通过转义字符\r\n进行换行。
54>
55> - 文本标签内支持以下转义字符:\a,\b,\f,\n,\r,\t,\v,\',\",\0。
56>
57> - 当使用子组件span组成文本段落时,如果span属性样式异常,将导致text段落无法显示。
58>
59> - letter-spacing、text-align、line-height、text-overflow和max-lines样式作用于text及其子组件(span)组成的文本内容。
60>
61> - text组件说明:不支持text内同时存在文本内容和span子组件。(如果同时存在,只显示span内的内容)
62
63
64## 事件
65
66支持[通用事件](js-service-widget-common-events.md)。
67
68## 示例
69
70```html
71<div class="container">
72    <text class="line_height">
73        <span>这是设置了行高的文本。</span>
74    </text>
75    <text class="letter_spacing">这是设置了字符间距的文本。</text>
76    <text class="font_style">这是设置为斜体的文本。</text>
77    <text class="text_decoration_style">这是添加了下划线的文本。</text>
78    <text class="text_over_flow">文本过长可省略,省略文本。</text>
79</div>
80```
81
82```css
83.container{
84    flex-direction: column;
85    width: 100%;
86    height: 100%;
87    margin-top: 10px;
88    margin-left: 30px;
89}
90.line_height{
91    font-size: 20px;
92    line-height: 40px;
93}
94.letter_spacing{
95    font-size: 20px;
96    letter-spacing: 5px;
97}
98.font_style{
99    font-size: 20px;
100    font-style: italic;
101}
102.text_decoration_style{
103    font-size: 20px;
104    text-decoration: underline;
105    text-decoration-color: red;
106}
107.text_over_flow{
108    font-size: 20px;
109    width: 40%;
110    max-lines: 1;
111    text-overflow: ellipsis;
112}
113```
114
115**4*4卡片**
116
117![progress](figures/text.png)