1e41f4b71Sopenharmony_ci# text 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci文本,用于呈现一段信息。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci 6e41f4b71Sopenharmony_ci> **说明:** 7e41f4b71Sopenharmony_ci> - 该组件从API version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> - 文本的展示内容需要写在元素标签内,可嵌套tspan子元素标签分段,可嵌套textPath子元素标签按指定路径绘制。 10e41f4b71Sopenharmony_ci> 11e41f4b71Sopenharmony_ci> - 只支持被父元素标签svg嵌套。 12e41f4b71Sopenharmony_ci> 13e41f4b71Sopenharmony_ci> - 只支持默认字体sans-serif。 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ci## 权限列表 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci无 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci 20e41f4b71Sopenharmony_ci## 子组件 21e41f4b71Sopenharmony_ci 22e41f4b71Sopenharmony_ci支持[tspan](js-components-svg-tspan.md)、[textpath](js-components-svg-textpath.md)、[animate](js-components-svg-animate.md)、[animateTransform](js-components-svg-animatetransform.md)。 23e41f4b71Sopenharmony_ci 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci## 属性 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci支持以下表格中的属性。 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci| 名称 | 类型 | 默认值 | 必填 | 描述 | 30e41f4b71Sopenharmony_ci| -------------- | ---------------------------------- | ----- | ---- | ---------------------------------------- | 31e41f4b71Sopenharmony_ci| id | string | - | 否 | 组件的唯一标识。 | 32e41f4b71Sopenharmony_ci| x | <length>\|<percentage> | 0 | 否 | 设置组件左上角x轴坐标 | 33e41f4b71Sopenharmony_ci| y | <length>\|<percentage> | 0 | 否 | 设置组件左上角y轴坐标 | 34e41f4b71Sopenharmony_ci| dx | <length>\|<percentage> | 0 | 否 | 设置文本x轴偏移 | 35e41f4b71Sopenharmony_ci| dy | <length>\|<percentage> | 0 | 否 | 设置文本y轴偏移 | 36e41f4b71Sopenharmony_ci| rotate | number | 0 | 否 | 字体以左下角为圆心旋转角度,正数顺时针,负数逆时针 | 37e41f4b71Sopenharmony_ci| font-size | <length> | 30px | 否 | 设置文本的尺寸。 | 38e41f4b71Sopenharmony_ci| fill | <color> | black | 否 | 字体填充颜色 | 39e41f4b71Sopenharmony_ci| fill-opacity | number | 1.0 | 否 | 字体填充透明度 | 40e41f4b71Sopenharmony_ci| opacity | number | 1 | 否 | 元素的透明度,取值范围为0到1,1表示为不透明,0表示为完全透明。支持属性动画。 | 41e41f4b71Sopenharmony_ci| stroke | <color> | black | 否 | 绘制字体边框并指定颜色 | 42e41f4b71Sopenharmony_ci| stroke-width | number | 1px | 否 | 字体边框宽度 | 43e41f4b71Sopenharmony_ci| stroke-opacity | number | 1.0 | 否 | 字体边框透明度 | 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci## 示例 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci```css 49e41f4b71Sopenharmony_ci/* xxx.css */ 50e41f4b71Sopenharmony_ci.container { 51e41f4b71Sopenharmony_ci flex-direction: row; 52e41f4b71Sopenharmony_ci justify-content: flex-start; 53e41f4b71Sopenharmony_ci align-items: flex-start; 54e41f4b71Sopenharmony_ci height: 1000px; 55e41f4b71Sopenharmony_ci width: 1080px; 56e41f4b71Sopenharmony_ci} 57e41f4b71Sopenharmony_ci``` 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci```html 60e41f4b71Sopenharmony_ci<!-- xxx.hml --> 61e41f4b71Sopenharmony_ci<div class="container"> 62e41f4b71Sopenharmony_ci <svg> 63e41f4b71Sopenharmony_ci <text x="20px" y="0px" font-size="30" fill="blue">test x|y</text> 64e41f4b71Sopenharmony_ci <text x="150" y="15" font-size="30" fill="blue">test x|y</text> 65e41f4b71Sopenharmony_ci <text x="300" y="30" font-size="30" fill="blue" opacity="0.1">test opacity</text> 66e41f4b71Sopenharmony_ci <text dx="20" y="30" dy="50" fill="blue" font-size="30">test dx|dy|fill|font-size</text> 67e41f4b71Sopenharmony_ci <text x="20" y="150" fill="blue" font-size="30" fill-opacity="0.2">test fill-opacity</text> 68e41f4b71Sopenharmony_ci <text x="20" y="200" fill="red" font-size="40">test 0123456789</text> 69e41f4b71Sopenharmony_ci <text x="20" y="250" fill="red" font-size="40" fill-opacity="0.2">test 中文</text> 70e41f4b71Sopenharmony_ci <text x="20" y="300" rotate="30" fill="red" font-size="40">test rotate</text> 71e41f4b71Sopenharmony_ci <text x="20" y="350" fill="blue" font-size="40" stroke="red" stroke-width="2">test stroke</text> 72e41f4b71Sopenharmony_ci <text x="20" y="400" fill="white" font-size="40" stroke="red" stroke-width="2" stroke-opacity="0.5">test stroke-opacity</text> 73e41f4b71Sopenharmony_ci </svg> 74e41f4b71Sopenharmony_ci</div> 75e41f4b71Sopenharmony_ci``` 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci属性动画示例 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci```css 82e41f4b71Sopenharmony_ci/* xxx.css */ 83e41f4b71Sopenharmony_ci.container { 84e41f4b71Sopenharmony_ci flex-direction: row; 85e41f4b71Sopenharmony_ci justify-content: flex-start; 86e41f4b71Sopenharmony_ci align-items: flex-start; 87e41f4b71Sopenharmony_ci height: 3000px; 88e41f4b71Sopenharmony_ci width: 1080px; 89e41f4b71Sopenharmony_ci} 90e41f4b71Sopenharmony_ci``` 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci```html 93e41f4b71Sopenharmony_ci<!-- xxx.hml --> 94e41f4b71Sopenharmony_ci<div class="container"> 95e41f4b71Sopenharmony_ci <svg> 96e41f4b71Sopenharmony_ci <text y="50" font-size="30" fill="blue"> 97e41f4b71Sopenharmony_ci text attribute x|opacity|rotate 98e41f4b71Sopenharmony_ci <animate attributeName="x" from="100" by="400" dur="3s" repeatCount="indefinite"></animate> 99e41f4b71Sopenharmony_ci <animate attributeName="opacity" from="0.01" to="0.99" dur="3s" repeatCount="indefinite"></animate> 100e41f4b71Sopenharmony_ci <animate attributeName="rotate" from="0" to="360" dur="3s" repeatCount="indefinite"></animate> 101e41f4b71Sopenharmony_ci </text> 102e41f4b71Sopenharmony_ci </svg> 103e41f4b71Sopenharmony_ci</div> 104e41f4b71Sopenharmony_ci``` 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci```html 109e41f4b71Sopenharmony_ci<!-- xxx.hml --> 110e41f4b71Sopenharmony_ci<div class="container"> 111e41f4b71Sopenharmony_ci <svg> 112e41f4b71Sopenharmony_ci <text x="20" y="200" fill="blue"> 113e41f4b71Sopenharmony_ci text attribute font-size 114e41f4b71Sopenharmony_ci <animate attributeName="font-size" from="10" to="50" dur="3s" repeatCount="indefinite"> 115e41f4b71Sopenharmony_ci </animate> 116e41f4b71Sopenharmony_ci </text> 117e41f4b71Sopenharmony_ci </svg> 118e41f4b71Sopenharmony_ci</div> 119e41f4b71Sopenharmony_ci``` 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci 123e41f4b71Sopenharmony_ci```html 124e41f4b71Sopenharmony_ci<!-- xxx.hml --> 125e41f4b71Sopenharmony_ci<div class="container"> 126e41f4b71Sopenharmony_ci <svg> 127e41f4b71Sopenharmony_ci <text x="20" y="250" font-size="25" fill="blue" stroke="red"> 128e41f4b71Sopenharmony_ci text attribute stroke 129e41f4b71Sopenharmony_ci <animate attributeName="stroke" from="red" to="#00FF00" dur="3s" repeatCount="indefinite"></animate> 130e41f4b71Sopenharmony_ci </text> 131e41f4b71Sopenharmony_ci <text x="300" y="250" font-size="25" fill="white" stroke="red"> 132e41f4b71Sopenharmony_ci text attribute stroke-width-opacity 133e41f4b71Sopenharmony_ci <animate attributeName="stroke-width" from="1" to="5" dur="3s" repeatCount="indefinite"></animate> 134e41f4b71Sopenharmony_ci <animate attributeName="stroke-opacity" from="0.01" to="0.99" dur="3s" repeatCount="indefinite"></animate> 135e41f4b71Sopenharmony_ci </text> 136e41f4b71Sopenharmony_ci </svg> 137e41f4b71Sopenharmony_ci</div> 138e41f4b71Sopenharmony_ci``` 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci 141