微信小程序的text组件支持以下样式属性:
color:设置字体颜色,可选值为任意合法的CSS颜色表示形式,如"#000000"、"rgb(255, 0, 0)"等。
font-size:设置字体大小,可选值为长度单位(如"12px"、"1rem")或百分比(如"100%")。
font-weight:设置字体粗细,可选值为"normal"、"bold"、"bolder"、"lighter"或数字(如400)。
font-style:设置字体风格,可选值为"normal"、"italic"或"oblique"。
text-decoration:设置文本装饰,可选值为"none"、"underline"、"overline"、"line-through"或"blink"。
text-align:设置文本对齐方式,可选值为"left"、"center"、"right"或"justify"。
line-height:设置行高,可选值为长度单位或数字(如1.5)。
text-indent:设置首行缩进,可选值为长度单位。
text-overflow文本溢出
text-shadow文本阴影效果
text-transform字符转换
示例代码:
<text style="color: red; font-size: 16px; font-weight: bold; text-decoration: underline;">这是一段带有样式的文本。</text> <text style="text-align: center; line-height: 2rem; text-indent: 2em;">这是一段居中对齐、行高为2rem、首行缩进2个字符的文本。</text>
一、color
微信小程序中可以通过设置样式来控制文本颜色,其中常用的样式属性有color属性,它可以设置文本的颜色。以下是color属性的详细解释:
color属性
color属性用于设置文本的颜色,可以使用十六进制、RGB、RGBA等形式来设置颜色值。
示例代码:
<text style="color:#FF0000">这是红色的文本</text> <text style="color:rgb(255,0,0)">这也是红色的文本</text> <text style="color:rgba(255,0,0,0.5)">这是半透明的红色文本</text>
在上面的示例代码中,靠前行将文本的颜色设置为十六进制颜色值#FF0000,即红色。第二行将文本颜色设置为RGB颜色值rgb(255,0,0),同样是红色。第三行将文本颜色设置为RGBA颜色值rgba(255,0,0,0.5),表示红色的文本透明度为50%。
除了以上示例中的几种方式,还可以使用其他的一些颜色值设置方式,如HSL、HSLA等。
需要注意的是,在微信小程序中,设置颜色时需要使用style属性来设置样式,不能直接使用color属性。同时,需要将样式定义在样式表中,不能在文本内部使用。
例如:
<view class="red-text">这是红色的文本</view> /* 在样式表中定义样式 */ .red-text{ color:#FF0000; }
上面的代码通过class属性来指定样式,然后在样式表中定义样式,将文本设置为红色。
二、font-size
在微信小程序里,font-size用于设置字体大小,可以在wxss样式表中使用。以下是font-size的详解:
单位:font-size的单位基本上和网页里的一样,支持px、em、rem和rpx。
px单位:px是最常用的单位,表示像素大小。在小程序里,1rpx等于1物理像素,所以可以使用px进行精确的像素控制。
em单位:em是相对单位,根据父元素字体大小的变化来改变自身的字体大小。例如,如果父元素字体大小为16px,那么如果设置font-size为1.5em,那么字体大小就会变成24px(16px * 1.5)。
rem单位:rem也是相对单位,不过它是相对于根元素的字体大小而定的,也就是说rem的值不会随着父元素字体大小的变化而变化。
rpx单位:rpx是小程序里一个独有的单位,它可以根据屏幕宽度进行自适应。例如,如果设置font-size为32rpx,那么在屏幕宽度为375px的设备上,字体大小就会等于32px,而在屏幕宽度为750px的设备上,字体大小就会等于64px。
使用示例:
.text { font-size: 16px; /* px单位 */ font-size: 1.5em; /* em单位 */ font-size: 1.2rem; /* rem单位 */ font-size: 32rpx; /* rpx单位 */ }
三、font-weight
在微信小程序中,font-weight属性用于设置字体的粗细程度。它可以设置为下列值之一:
normal:默认值,普通字体。
bold:加粗字体。
lighter:比normal更细的字体。
bolder:比bold更粗的字体。
100~900:100表示最细的字体,900表示最粗的字体。它们之间的值越大,字体的粗细程度就越高。
使用示例:
/* 设置字体为加粗 */ font-weight: bold; /* 设置字体为比normal更细 */ font-weight: lighter; /* 设置字体为比bold更粗 */ font-weight: bolder; /* 设置字体为600,即比normal更粗一些 */ font-weight: 600;
需要注意的是,font-weight属性需要与字体本身的粗细程度相匹配。如果使用的字体本身没有加粗或细化样式,则设置font-weight属性也不会起作用。除此之外,在微信小程序中使用中文字体时,还需要注意其是否支持不同粗细程度的设置。
四、font-style
微信小程序中的font-style属性用于设置文本的字体风格,包括常规(normal)和斜体(italic)两种风格。
具体使用方式如下:
- 在wxml文件中设置font-style属性:
<text font-style="italic">这是一段斜体文本</text>
- 在wxss文件中设置font-style属性:
text { font-style: italic; }
设置后,文本将会呈现斜体的效果。
需要注意的是,font-style属性只对部分字体有效,部分字体不支持斜体效果,设置后可能无法生效。
五、text-decoration
在微信小程序中,text-decoration是一个用于控制文本修饰样式的CSS属性。它可以设置文本的下划线、删除线、上划线等效果。
常用的属性值包括:
- none:不添加任何修饰线;
- underline:添加下划线;
- overline:添加上划线;
- line-through:添加删除线;
- underline overline:同时添加上划线和下划线;
- underline line-through:同时添加下划线和删除线;
- overline line-through:同时添加上划线和删除线;
- underline overline line-through:同时添加上划线、下划线和删除线。
这些属性可以在CSS样式中直接使用,也可以在wxml中通过style属性来进行设置,例如:
<text style="text-decoration: underline;">有下划线的文本</text> <text style="text-decoration: line-through;">有删除线的文本</text> <text style="text-decoration: underline overline;">有上划线和下划线的文本</text>
需要注意的是,微信小程序不支持text-decoration-color属性,即无法设置修饰线的颜色。因此,修饰线的颜色与文本颜色一致。
六、text-align
在微信小程序中,可以使用text-align属性来指定文本的对齐方式。具体有以下三种取值:
left:文本左对齐,为默认值。
center:文本居中对齐。
right:文本右对齐。
在设置text-align属性时,可以使用内联样式或外部样式表来实现。
示例代码:
// 内联样式 <view style="text-align: center;">居中对齐</view> // 外部样式表 .text { text-align: right; } <view class="text">右对齐</view>
七、line-height
微信小程序中的line-height是用于设置行高的样式属性。它表示一行文本的高度,包括字母、空格和其他字符。
使用方法:
在组件中设置style属性,如:
<view style="line-height: 30rpx;">这是一行文本</view>
其中,line-height的值可以是一个具体的像素值,也可以是一个相对单位(如rpx、vw、vh等)。
line-height的默认值是normal,表示使用默认的行高。在微信小程序中,normal的行高大概是字体大小的1.4倍左右(具体取决于字体的具体属性),可以通过设置具体值来改变行高,如:
<view style="font-size: 26rpx; line-height: 1.5;">这是一行文本</view>
这里的值1.5表示使用字体大小的1.5倍作为行高。
需要注意的是,在微信小程序中,line-height样式属性只对一些支持多行文本的组件(如view、text等)有效,对于其他组件(如button、image等)则无效。
八、text-indent
text-indent是CSS属性之一,它用于设置一个段落或文本块的首行缩进。在微信小程序中,text-indent可以用于设置rich-text组件和text组件的首行缩进。具体用法如下:
- 对于rich-text组件,代码如下:
<rich-text nodes="{{nodes}}" style="text-indent: 2em;"></rich-text>
其中,nodes为富文本内容,style中的text-indent属性值表示缩进2个字母的宽度。可以根据需要自行调整。
- 对于text组件,代码如下:
<text class="indent" style="text-indent: 2em;">这是一段文本,首行缩进两个字符宽度。</text>
其中,class为indent的样式设置为inline-block,用于防止下一行文本与首行缩进相对齐。text-indent属性值表示缩进2个字母的宽度。
需要注意的是,微信小程序的text-indent属性只能用于text组件和rich-text组件,不能用于其他组件如view、image等。同时,text-indent也不适用于行内文本。
九、text-overflow
微信小程序的text组件没有text-overflow属性,但是可以通过设置组件的max-width和white-space属性来实现文字超出部分的省略显示。
具体实现方法如下:
- 在wxss中设置text组件的样式,包括max-width和white-space属性,以及overflow:hidden(防止文字溢出)和text-overflow:ellipsis(设置省略号显示)属性。
.text { display: block; max-width: 200rpx; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
- 在wxml中使用text组件,并设置宽度为组件样式中设置的max-width的值。
<text class="text" style="width: 200rpx;">这是一段很长很长很长的文字,超过200rpx后将会被省略显示。</text>
这样就可以实现微信小程序中文字超出部分的省略显示。
十、text-shadow
要在微信小程序中添加文字阴影,可以使用CSS样式来实现。下面是一个例子:
text-shadow: 1px 1px 1px #000000;#分别对应阴影粗细,向又移动像素点,向下移动的像素点以及阴影的颜色
这个样式将创建一个黑色1像素的阴影,向右和向下移动1像素。
将这个CSS样式应用于您的文本元素,您就可以在微信小程序中创建文字阴影了。
十 一、text-transform
微信小程序中的text-transform属性用于控制文本的大小写转换。
该属性有以下值:
none:不进行大小写转换。
uppercase:将文本转换为大写。
lowercase:将文本转换为小写。
capitalize:将每个单词的首字母转换为大写。
示例代码:
<text style="text-transform: uppercase;">Hello World!</text>
该代码会将文本“Hello World!”全部转换为大写,显示结果为“HELLO WORLD!”。
注意事项:
该属性只对文本有效,不会影响其他元素。
该属性对于中文字符无效,只能对英文字母进行大小写转换。
TAG:微信小程序样式