赞
踩
上回介绍了基础组件中最常用的组件常用的基础组件,接下来还有其他基础组件
描述:空白填充组件
功能:在容器主轴方向上,具有自动填充容器空余部分的能力。只有当父组件为Row/Column时生效
子组件:无
Blank(min?: number | string)
参数:
- min:主轴上的最小大小(可选)
属性:
- color:设置填充颜色
1.基础功能,用来占位,填充剩余部分
2.父组件不设置宽度时,Blank失效。可使用min来限制最小填充宽度
- @Entry
- @Component
- struct BlankPage {
- build() {
- Column({ space: 20 }) {
- // blank父组件不设置宽度时,Blank失效
- Row() {
- Text('最左边')
- Blank().color(Color.Red)
- Text('最右边')
- }.backgroundColor(Color.Yellow)
-
- // blank父组件不设置宽度时,可以通过设置min最小宽度填充固定宽度
- Row() {
- Text('最左边')
- Blank('180').color(Color.Red)
- Text('最右边')
- }.backgroundColor(Color.Yellow)
-
- }.width('100%')
- }
- }
多选框组件
功能:用于选项的打开或关闭
是否支持设置子组件:不支持
Checkbox( options?: {name?: string, group?: string} )
参数:
- name:名称
- group:群组名称
属性:
- select:设置是否选中
- selectedColor:设置选中状态颜色
事件:
- onChange(callback: (value: boolean) => void):当选中状态发生变化时,触发该回调;value表示是否选中
- @Entry
- @Component
- struct CheckboxPage {
- build() {
- Row() {
- Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
- .select(true)
- .selectedColor(Color.Red)
- .onChange((value: boolean) => {
-
- })
- Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
- .select(false)
- .selectedColor(Color.Red)
- .onChange((value: boolean) => {
-
- })
- }
- .height('100%')
- }
- }
描述:多选框群组
功能:用于控制多选框全选或者不全选状态
子组件:无
CheckboxGroup( options?: { group?: string } )
参数:
- group:群组名称
属性:
- selectAll:设置是否全选
- selectedColor:设置被选中或部分选中状态的颜色
事件:
- onChange(callback: (event: CheckboxGroupResult) => void):选中状态或群组内的Checkbox的选中状态发生变化时,触发回调
CheckboxGroupResult详解
参数:
SelectStatus:
- All:多选择框全部选择
- Part:多选择框部分选择
- None:多选择框全部没有选择
- @Entry
- @Component
- struct CheckboxExample {
- build() {
- Scroll() {
- Column() {
- // 全选按钮
- CheckboxGroup({ group: 'checkboxGroup' })
- .selectedColor(0xed6f21)
- .onChange((itemName: CheckboxGroupResult) => {
-
- })
- Text('全选').fontSize(20)
-
- // 选项1
- Checkbox({ name: 'checkbox1', group: 'checkboxGroup' })
- .selectedColor(0x39a2db)
- .onChange((value: boolean) => {
-
- })
- Text('java').fontSize(20)
-
- // 选项2
- Checkbox({ name: 'checkbox2', group: 'checkboxGroup' })
- .selectedColor(0x39a2db)
- .onChange((value: boolean) => {
-
- })
- Text('ios').fontSize(20)
-
- // 选项3
- Checkbox({ name: 'checkbox3', group: 'checkboxGroup' })
- .selectedColor(0x39a2db)
- .onChange((value: boolean) => {
-
- })
- Text('H5').fontSize(20)
- }
- }
- }
- }
描述:数据统计组件
功能:用于将多个数据占比情况使用占比图进行展示
子组件:无
DataPanel(options:{values: number[], max?: number, type?: DataPanelType})
参数:
属性:
- @Entry
- @Component
- struct DataPanelExample {
- public result: number[] = [20, 10, 5, 10, 25, 20, 10, 10, 10]
-
- build() {
- Column({ space: 5 }) {
-
- DataPanel({ values: this.result, max: 100, type: DataPanelType.Circle })
- .width(200)
- .height(200)
-
- DataPanel({ values: this.result, max: 100, type: DataPanelType.Line })
- .width(300)
- .height(30)
- }.width('100%')
- .margin({ top: 5 })
- }
- }
描述:日期选择器组件
功能:根据指定范围的Date创建可以选择日期的滑动选择器
子组件:无
DatePicker(options?: {start?: Date, end?: Date, selected?: Date})
参数:
属性:
事件:
onChange(callback: (value: DatePickerResult) => void):选择日期时触发该事件
DatePickerResult详解
- @Entry
- @Component
- struct DatePickerExample {
- @State isLunar: boolean = false
- private selectedDate: Date = new Date('2023-08-08')
-
- build() {
- Column() {
- Button('切换公历农历')
- .margin({ top: 30 })
- .onClick(() => {
- this.isLunar = !this.isLunar
- })
- DatePicker({
- start: new Date('2023-1-1'),
- end: new Date('2024-1-1'),
- selected: this.selectedDate,
- })
- .lunar(this.isLunar)
- .onChange((value: DatePickerResult) => {
- this.selectedDate.setFullYear(value.year, value.month, value.day)
- console.info('select current date is: ' + JSON.stringify(value))
- })
- }.width('100%')
- }
- }
描述:分隔器组件
功能:分隔不同内容块/内容元素。
子组件:无
Divider()
属性:
- @Entry
- @Component
- struct DividerPage {
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Start, justifyContent: FlexAlign.SpaceBetween }) {
- //基础使用
- Row().width('100%').height(5).backgroundColor(Color.Red)
- Divider()
- Row().width('100%').height(5).backgroundColor(Color.Yellow)
-
- //横向分割线
- Flex({ alignItems: ItemAlign.Center, wrap: FlexWrap.Wrap }) {
- Text('横向1')
- Divider().vertical(true).margin(20).height(30)
- Text('横向2')
- Divider().vertical(true).margin(20).height(30)
- Text('横向3')
- }.width('100%')
-
- //给分割线设置参数
- Row().width('100%').height(5).backgroundColor(Color.Red)
- Divider().vertical(false).strokeWidth(5)
- .color(Color.Green).lineCap(LineCapStyle.Round)
- Row().width('100%').height(5).backgroundColor(Color.Yellow)
- }
- .width('100%')
- .height(350)
- .padding({ left: 35, right: 35, top: 35 })
- }
- }
描述:环形统计图组件
功能:用于将数据展示为环形图表。
子组件:无
Gauge(options:{value: number, min?: number, max?: number})
参数:
属性:
注意:
- 当属性和参数都可以设置value,当两者同时设置时以参数为准
ColorStop详解
颜色断点类型,用于描述渐进色颜色断点
- @Entry
- @Component
- struct GaugeExample {
- build() {
- Column({ space: 20 }) {
- // 默认的min和max为0-100,角度范围默认0-360,value参数中设置当前值为50
- Gauge({ value: 50 })
- .width(100).height(100)
- .colors([[Color.Red, 3], [Color.Green, 1], [Color.Blue, 1], [Color.Yellow, 1]])
-
- // 参数设置当前值为75,属性设置值为25,属性设置优先级高
- Gauge({ value: 75 })
- .value(25) // 以这个为准
- .width(100).height(100)
- .colors([[Color.Red, 3], [Color.Green, 1], [Color.Blue, 1], [Color.Yellow, 1]])
-
- // 其他参数和属性的应用
- Gauge({ value: 40, min: 0, max: 100 })
- .startAngle(230) //开始位置
- .endAngle(130) //结束位置
- .colors([[Color.Red, 0.3], [Color.Green, 0.1], [Color.Blue, 0.2], [Color.Yellow, 0.4]])
- .strokeWidth(30)
- .width(300)
- .height(300)
- }.width('100%').margin({ top: 100 })
- }
- }
描述:图片播放组价
功能:提供帧动画组件来实现逐帧播放图片的能力,可以配置需要播放的图片列表,每张图片可以配置时长
子组件:无
ImageAnimator()
属性:
事件:
onStart(event: () => void) :状态回调,动画开始播放时触发
onPause(event: () => void):状态回调,动画暂停播放时触发
onRepeat(event: () => void):状态回调,动画重新播放时触发
onCancel(event: () => void):状态回调,动画取消播放时触发
onFinish(event: () => void):状态回调,动画播放完成时触发
注意:
属性duration值的改变只会在下一次循环开始时生效
当images中设置了单独的duration后,属性duration设置无效
当设置fixedSize为true时,表示图片大小与组件大小一致,此时设置图片的width 、height 、top 和left属性是无效的;设置false表示每一张图片的 width 、height 、top和left属性都要单独设置
images设置详解:
参数类型:
Array<{
src: string,
width?: number | string,
height?: number | string,
top?: number | string,
left?: number | string,
duration?: number
}>
参数描述:
src:图片路径,图片格式为svg,png和jpg
width:图片宽度
height:图片高度
top:图片相对于组件左上角的纵向坐标
left:图片相对于组件左上角的横向坐标
duration:每一帧图片的播放时长,单位毫秒。
- @Entry
- @Component
- struct ImageAnimatorExample {
- @State state: AnimationStatus = AnimationStatus.Initial
- @State reverse: boolean = false
- @State iterations: number = 1
-
- build() {
- Column({ space:5 }) {
- ImageAnimator()
- .images([
- {
- //comment文件夹与pages同级
- src: $r('app.media.bg1'),
- duration: 500,
- width: 325,
- height: 200,
- top: 0,
- left: 0
- },
- {
- src: $r('app.media.bg2'),
- duration: 500,
- width: 325,
- height: 200,
- top: 0,
- left: 0
- },
- {
- src: $r('app.media.bg3'),
- duration: 500,
- width: 325,
- height: 200,
- top: 0,
- left: 0
- },
- {
- src: $r('app.media.bg3'),
- duration: 500,
- width: 325,
- height: 200,
- top: 0,
- left: 0
- }
- ])
- .state(this.state).reverse(this.reverse).fixedSize(false).preDecode(2)
- .fillMode(FillMode.None).iterations(this.iterations).width(325).height(210)
- .margin({top:100})
- .onStart(() => { // 当帧动画开始播放后触发
- console.info('Start')
- })
- .onPause(() => {
- console.info('Pause')
- })
- .onRepeat(() => {
- console.info('Repeat')
- })
- .onCancel(() => {
- console.info('Cancel')
- })
- .onFinish(() => { // 当帧动画播放完成后触发
- console.info('Finish')
- })
- Row() {
- Button('start').width(100).padding(5).onClick(() => {
- this.state = AnimationStatus.Running
- })
- Button('pause').width(100).padding(5).onClick(() => {
- this.state = AnimationStatus.Paused
- })
- Button('stop').width(100).padding(5).onClick(() => {
- this.state = AnimationStatus.Stopped
- })
- }
- Row() {
- Button('reverse').width(100).padding(5).onClick(() => {
- this.reverse = !this.reverse
- })
- Button('once').width(100).padding(5).onClick(() => {
- this.iterations = 1
- })
- Button('iteration').width(100).padding(5).onClick(() => {
- this.iterations = -1
- })
- }
- }.width('100%').height('100%').backgroundColor(0xF1F3F5)
- }
- }
描述: 跑马灯组件
功能: 用于滚动展示一段单行文本,仅当文本内容宽度超过跑马灯组件宽度时滚动
子组件:无
Marquee(value: { start: boolean, step?: number, loop?: number, fromStart?: boolean, src: string })
参数:
属性:
事件:
名称
参数类型
默认值
描述
allowScale
boolean
false
是否允许文本缩放
暂不支持该接口
名称
功能描述
onStart(event: () => void)
开始滚动时触发回调
onBounce(event: () => void)
滚动到底时触发回调
onFinish(event: () => void)
滚动完成时触发回调
- @Entry
- @Component
- struct MarqueeExample {
- @State start: boolean = false
- @State fromStart: boolean = true
- @State step: number = 50
- @State loop: number = 3
- @State src: string = "Running Marquee starts rolling"
-
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {
- Marquee({
- start: this.start,
- step: this.step,
- loop: this.loop,
- fromStart: this.fromStart,
- src: this.src
- })
- .width(400)
- .fontColor(Color.White)
- .fontSize(50)
- .allowScale(false)
- .fontWeight(FontWeight.Bold)
- .backgroundColor(Color.Black)
- .margin({bottom:40})
- .onStart(() => {
- console.log('Marquee animation complete onStart')
- })
- .onBounce(() => {
- console.log('Marquee animation complete onBounce')
- })
- .onFinish(() => {
- console.log('Marquee animation complete onFinish')
- })
- Button('start')
- .onClick(() => {
- this.start = true
- })
- .width(200)
- .height(60)
- .margin({bottom:20})
- }
- .width('100%')
- .height('100%')
- }
- }
描述: 页面头部根容器
功能: 通过属性设置来展示页面的标题、工具栏、菜单
子组件:可以包含子组件
Navigation()
属性:
事件:
名称
参数类型
默认值 描述
title
string | CustomBuilder
- 页面标题
subtitle
string
- 页面副标题。
menus
Array<NavigationMenuItem> | CustomBuilder
- 页面右上角菜单
titleMode
NavigationTitleMode
NavigationTitleMode.Free 页面标题栏显示模式。
toolBar
object | CustomBuilder
- 设置工具栏内容。
items: 工具栏所有项
hideToolBar
boolean
false 设置隐藏/显示工具栏
hideTitleBar
boolean
false 隐藏标题栏
hideBackButton
boolean
false 隐藏返回键
名称
功能描述
onTitleModeChange(callback: (titleMode: NavigationTitleMode) => void)
当titleMode为NavigationTitleMode.Free时,随着可滚动组件的滑动标题栏模式发生变化时触发此回调
- @Entry
- @Component
- struct NavigationExample {
- @State hideBar: boolean = false
- @State hideTitleBar: boolean = false
-
- @Builder NavigationTitle() {
- Column() {
- Text(this.index == 0 ? "首页" : this.index == 1 ? "列表" : "更多")
- .width(80)
- .height(60)
- .fontColor(Color.Red)
- .fontSize(30)
- }
- .onClick(() => {
- console.log("title")
- })
- }
-
- @Builder NavigationMenus() {
- Row() {
- Image($r('app.media.bg1'))
- .width(25)
- .height(25)
- Image($r('app.media.bg2'))
- .width(25)
- .height(25)
- .margin({ left: 30 })
- }
- }
-
- @State index: number = 0
-
- // CustomBuilder类型的toolbar
- @Builder NavigationToolbar() {
- Row() {
- Column() {
- Image(this.index == 0 ? $r('app.media.bg1') : $r('app.media.bg2'))
- .size({ width: 25, height: 25 })
- Text('首页')
- .fontSize(16)
- .fontColor(this.index == 0 ? Color.Red : Color.Gray)
- .margin({ top: 5 })
- }
- .alignItems(HorizontalAlign.Center)
- .height('100%')
- .layoutWeight(1)
- .onClick(() => {
- this.index = 0;
- })
-
- Column() {
- Image(this.index == 1 ? $r('app.media.bg1') : $r('app.media.bg2'))
- .size({ width: 25, height: 25 })
- Text('列表')
- .fontSize(16)
- .fontColor(this.index == 1 ? Color.Red : Color.Gray)
- .margin({ top: 5 })
- }
- .alignItems(HorizontalAlign.Center)
- .height('100%')
- .layoutWeight(1)
- .onClick(() => {
- this.index = 1;
- })
-
- Column() {
- Image(this.index == 2 ? $r('app.media.bg1') : $r('app.media.bg2'))
- .size({ width: 25, height: 25 })
- Text('更多')
- .fontSize(16)
- .fontColor(this.index == 2 ? Color.Red : Color.Gray)
- .margin({ top: 5 })
- }
- .alignItems(HorizontalAlign.Center)
- .height('100%')
- .layoutWeight(1)
- .onClick(() => {
- this.index = 2;
- })
- }
- .width('100%')
- .height(50)
- .alignItems(VerticalAlign.Center)
- }
-
- build() {
- Column() {
- Navigation() {
- Column(){
- //具体内容区
- //可以根据具体的index 来显示不同的界面布局
- Text(this.index == 0 ? "首页" : this.index == 1 ? "列表" : "更多")
- .textAlign(TextAlign.Center)
- .fontSize(30)
- .fontColor(Color.Red)
-
- //测试按钮
- Row() {
- Button(this.hideBar ? "tool bar" : "hide tool bar")
- .onClick(() => {
- this.hideBar = !this.hideBar
- })
- Button(this.hideTitleBar ? "title bar" : "hide title bar")
- .onClick(() => {
- this.hideTitleBar = !this.hideTitleBar
- }).margin({ left: 50 })
- }.margin({ left: 35, top: 60 })
- }
- }
- .title(this.NavigationTitle)
- .menus(this.NavigationMenus)
- .titleMode(NavigationTitleMode.Free)
- .hideTitleBar(this.hideTitleBar)
- .hideBackButton(false)
- .onTitleModeChange((titleModel: NavigationTitleMode) => {
- console.log('titleMode')
- })
- .toolBar(this.NavigationToolbar)
- // .toolBar({ items: [
- // { value: 'app', icon: $r('app.media.bg2'), action: () => {
- // console.log("app")
- // } },
- // { value: 'add', icon: $r('app.media.bg2'), action: () => {
- // console.log("add")
- // } },
- // { value: 'collect', icon: $r('app.media.bg2'), action: () => {
- // console.log("collect")
- // } }] })
- .hideToolBar(this.hideBar)
- }
- }
- }
描述: 进度条组件
功能: 用于显示内容加载进度
子组件:无
Progress(options: {value: number, total?: number, style?: ProgressStyle, type?: ProgressType})
参数:
属性:
参数名
参数类型
必填
默认值 参数描述
value
number
是
- 指定当前进度值
total
number
否
100 指定进度总长
type
ProgressType
否
ProgressType.Linear 指定进度条类型
名称
参数类型
描述
value
number
设置当前进度值。
color
ResourceColor
设置进度条前景色。
style
{
strokeWidth?: Length
scaleCount?: number,
scaleWidth?: length
}
定义组件的样式。
刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。
ProgressType 样式可选类型:
名称 | 描述 |
---|---|
Linear | 线性 |
Ring | 环形无刻度样式,环形圆环逐渐显示至完全填充效果 |
Eclipse | 圆形样式,显示类似月圆月缺的进度展示效果,从月牙逐渐变化至满月 |
ScaleRing | 环形有刻度样式,显示类似时钟刻度形式的进度展示效果 |
Capsule | 胶囊样式,头尾两端圆弧处的进度展示效果与Eclipse相同;中段处的进度展示效果与Linear相同 |
style详解:
- @Entry
- @Component
- struct ProgressExample {
- build() {
- Column({ space: 15 }) {
- //线性进度条
- Progress({ value: 50, type: ProgressType.Linear })
- .width(200)
- Progress({ value: 100, total: 150, type: ProgressType.Linear })
- .color(Color.Red)
- .value(100)
- .width(200)
-
-
- //圆形进度条
- Row({ space: 50 }) {
- Progress({ value: 50, type: ProgressType.Eclipse })
- .width(100)
- Progress({ value: 100, total: 150, type: ProgressType.Eclipse })
- .color(Color.Red)
- .value(100)
- .width(100)
- }
-
- //环形有刻度进度条
- Row({ space: 50 }) {
- Progress({ value: 50, type: ProgressType.ScaleRing })
- .width(100)
- Progress({ value: 50, total: 150, type: ProgressType.ScaleRing })
- .color(Color.Red)
- .value(100)
- .width(100)
- .style({ strokeWidth: 15, scaleCount: 15, scaleWidth: 5 })
- }
-
- //环形有刻度进度条 定义样式
- Row({ space: 40 }) {
- Progress({ value: 20, type: ProgressType.ScaleRing })
- .value(50)
- .width(100)
- .style({ strokeWidth: 20, scaleCount: 20, scaleWidth: 5 })
- Progress({ value: 100, total: 150, type: ProgressType.ScaleRing })
- .color(Color.Red)
- .value(100)
- .width(100)
- .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 3 })
- }
-
- //环形进度条
- Row({ space: 50 }) {
- Progress({ value: 50, type: ProgressType.Ring })
- .width(100)
- Progress({ value: 100, total: 150, type: ProgressType.Ring })
- .color(Color.Red)
- .value(100)
- .width(100)
- .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 20 })
- }
-
- //胶囊进度条
- Row({ space: 50 }) {
- Progress({ value: 50, type: ProgressType.Capsule })
- .width(200)
- .height(50)
- Progress({ value: 100, total: 150, type: ProgressType.Capsule })
- .color(Color.Red)
- .value(100)
- .width(100)
- .height(50)
- }
- }.width('100%').margin({ top: 30 })
- }
- }
描述: 二维码组件
功能: 用来显示二维码
子组件:无
QRCode(value: string)
参数:
- value:二维码内容
属性:
- color:二维码颜色
- backgroundColor:二维码背景色
- @Entry
- @Component
- struct QRCodeExample {
- private value: string = 'hello world'
- build() {
- Column({ space: 5 }) {
-
- QRCode(this.value)
- .width(200)
- .height(200)
-
- // 设置二维码颜色
- QRCode(this.value)
- .color(Color.Red)
- .width(200)
- .height(200)
-
- // 设置二维码背景色
- QRCode(this.value)
- .width(200)
- .height(200)
- .backgroundColor(Color.Red)
- }.width('100%').margin({ top: 5 })
- }
- }
描述: 单选框组件
功能: 提供相应的用户交互选择项
子组件:无
Radio(options: {value: string, group: string})
参数:
- value:值
- group:组名,一个组只能有一个单选框被选中
属性:
- checked:设置是否选中
事件:
- onChange(callback: (isChecked: boolean) => void):单选框状态改变时触发
- @Entry
- @Component
- struct RadioPage {
- @State message: string = 'Hello World'
-
- build() {
- Row() {
- Column() {
- Radio({ value: 'Radio1', group: 'radioGroup' })
- .checked(true)
- .height(50)
- .width(50)
- .onChange((isChecked: boolean) => {
-
- })
- Radio({ value: 'Radio2', group: 'radioGroup' })
- .checked(true)
- .height(50)
- .width(50)
- .onChange((isChecked: boolean) => {
-
- })
- }
- .width('100%')
- }
- .height('100%')
- }
- }
描述: 评分组件
功能: 用来评分
子组件:无
Rating(options?: { rating: number, indicator?: boolean })
参数:
- rating:设置并接收评分值
- indicator:指示器
属性:
- stars:设置评星总数,默认值:5
- stepSize:步长,一次可增加减少多少,默认值:0.5
- starStyle:选中与未选中样式
事件:
- onChange(callback:(value: number) => void):操作发生改变时触发
可由用户自定义或使用系统默认图片,仅支持本地。
- backgroundSrc:未选中的星级的图片链接
- foregroundSrc:选中的星级的图片路径
- secondarySrc:部分选中的星级的图片路径
- @Entry
- @Component
- struct RatingPage {
- @State rating: number = 1
- @State indicator: boolean = false
-
- build() {
- Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.SpaceBetween }) {
- Text('当前评分: ' + this.rating).fontSize(20)
- //基础用法
- Rating({ rating: this.rating, indicator: this.indicator })
- .stars(5)
- .stepSize(1)
- .onChange((value: number) => {
- this.rating = value
- })
-
- //可设置本地图片
- Rating({ rating: this.rating, indicator: false })
- .stars(5)
- .stepSize(1)
- .starStyle({
- backgroundUri: '/common/bg1.png',
- foregroundUri: '/common/bg2.png',
- secondaryUri: '/common/bg3.png'
- })
- .margin({ top: 24 })
- .onChange((value: number) => {
- this.rating = value
- })
- }.width(350).height(200).padding(35)
- }
- }
描述: 富文本组件
功能: 解析并显示HTML格式文本。
子组件:无
RichText(content: string)
参数:
- content :HTML格式的字符串
事件:
- onStart(callback: () => void):加载网页开始时触发
- onComplete(callback: () => void) :加载网页完成时触发
支持标签:
<h1>--<h6>:定义标题,1~6
<p></p>:定义段落
<br/>:插入一个简单的换行符
<hr/>:定义HTML页面中的主题变化(比如话题的转移),并显示为一条水平线
<div></div>:常用于组合块级元素,以便通过CSS来对这些元素进行格式化
<i></i>:斜体
<u></u>:下划线
<style></style>:HTML文档的样式信息
<script></script>:用于定义客户端文本,比如JavaScript
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。