WeUI 是由微信官方设计团队专为微信移动 Web 应用设计的 UI 库。javascript
WeUI 是一套同微信原生视觉体验一致的基础样式库,为微信 Web 开发量身设计,能够令用户的使用感知更加统一。包含button
、cell
、dialog
、toast
、article
、icon
等各式元素。html
使用bower
进行安装java
1
|
bower
install
--save weui
|
使用npm
进行安装git
1
|
npm
install
--save weui
|
1
2
3
4
5
|
git clone https:
//github
.com
/weui/weui
.git
cd
weui
npm
install
-g gulp
npm
install
gulp -ws
|
运行gulp -ws
命令,会监听src
目录下全部文件的变动,而且默认会在8080
端口启动服务器,而后在浏览器打开http://localhost:8080/example
。github
请用微信扫码web
http://weui.github.io/weui/shell
按钮可使用a
或者button
标签。wap上要触发按钮的active态,必须触发ontouchstart事件,能够在body
上加上ontouchstart=""
全局触发。npm
按钮常见的操做场景:肯定、取消、警示,分别对应class:weui_btn_primary
、weui_btn_default
、weui_btn_warn
,每种场景都有本身的置灰态weui_btn_disabled
,除此外还有一种镂空按钮weui_btn_plain_xxx
,客户端webview里的按钮尺寸有两类,默认宽度100%,小型按钮宽度自适应,两边边框与文本间距0.75em:gulp
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_primary"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_disabled weui_btn_primary"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_warn"
>确认</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_disabled weui_btn_warn"
>确认</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_default"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_disabled weui_btn_default"
>按钮</
a
>
<
div
class
=
"button_sp_area"
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_plain_default"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_plain_primary"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_mini weui_btn_primary"
>按钮</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_mini weui_btn_default"
>按钮</
a
>
</
div
>
|
Cell
,列表视图,用于将信息以列表的结构显示在页面上,是wap上最经常使用的内容结构。Cell
由多个section组成,每一个section包括section headerweui_cells_title
以及cellsweui_cells
。浏览器
cell
由thumnailweui_cell_hd
、bodyweui_cell_bd
、accessoryweui_cell_ft
三部分组成,cell
采用自适应布局,在须要自适应的部分加上classweui_cell_primary
便可:
带说明的列表项
1
2
3
4
5
6
7
8
9
10
11
|
<
div
class
=
"weui_cells_title"
>带说明的列表项</
div
>
<
div
class
=
"weui_cells"
>
<
div
class
=
"weui_cell"
>
<
div
class
=
"weui_cell_bd weui_cell_primary"
>
<
p
>标题文字</
p
>
</
div
>
<
div
class
=
"weui_cell_ft"
>
说明文字
</
div
>
</
div
>
</
div
>
|
Cell
可根据须要进行各类自定义扩展,包括辅助说明、跳转、单选、复选等。下面以带图标、说明、跳转的列表项,其余状况能够直接参考example
下的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
<
div
class
=
"weui_cells_title"
>带图标、说明、跳转的列表项</
div
>
<
div
class
=
"weui_cells weui_cells_access"
>
<
a
class
=
"weui_cell"
href
=
"javascript:;"
>
<
div
class
=
"weui_cell_hd"
>
<
img
src
=
""
alt
=
"icon"
style
=
"width:20px;margin-right:5px;display:block"
>
</
div
>
<
div
class
=
"weui_cell_bd weui_cell_primary"
>
<
p
>cell standard</
p
>
</
div
>
<
div
class
=
"weui_cell_ft"
>
说明文字
</
div
>
</
a
>
<
a
class
=
"weui_cell"
href
=
"javascript:;"
>
<
div
class
=
"weui_cell_hd"
>
<
img
src
=
""
alt
=
"icon"
style
=
"width:20px;margin-right:5px;display:block"
>
</
div
>
<
div
class
=
"weui_cell_bd weui_cell_primary"
>
<
p
>cell standard</
p
>
</
div
>
<
div
class
=
"weui_cell_ft"
>
说明文字
</
div
>
</
a
>
</
div
>
|
若系统的alert窗体没法知足网页的临时视图内容需求,则能够自定义实现与alert形式类似的dialog,而且在dialog中能够自定义地使用各类控件,来知足需求。
1
2
3
4
5
6
7
8
9
10
11
|
<
div
class
=
"weui_dialog_confirm"
>
<
div
class
=
"weui_mask"
></
div
>
<
div
class
=
"weui_dialog"
>
<
div
class
=
"weui_dialog_hd"
><
strong
class
=
"weui_dialog_title"
>弹窗标题</
strong
></
div
>
<
div
class
=
"weui_dialog_bd"
>自定义弹窗内容<
br
>...</
div
>
<
div
class
=
"weui_dialog_ft"
>
<
a
href
=
"javascript:;"
class
=
"weui_btn_dialog default"
>取消</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn_dialog primary"
>肯定</
a
>
</
div
>
</
div
>
</
div
>
|
1
2
3
4
5
6
7
8
9
10
|
<
div
class
=
"weui_dialog_alert"
>
<
div
class
=
"weui_mask"
></
div
>
<
div
class
=
"weui_dialog"
>
<
div
class
=
"weui_dialog_hd"
><
strong
class
=
"weui_dialog_title"
>弹窗标题</
strong
></
div
>
<
div
class
=
"weui_dialog_bd"
>弹窗内容,告知当前页面信息等</
div
>
<
div
class
=
"weui_dialog_ft"
>
<
a
href
=
"javascript:;"
class
=
"weui_btn_dialog primary"
>肯定</
a
>
</
div
>
</
div
>
</
div
>
|
toast用于临时显示某些信息,而且会在数秒后自动消失。这些信息一般是轻量级操做的成功、失败或等待状态信息。
1
2
3
4
5
6
7
|
<
div
id
=
"toast"
style
=
"display: none;"
>
<
div
class
=
"weui_mask_transparent"
></
div
>
<
div
class
=
"weui_toast"
>
<
i
class
=
"weui_icon_toast"
></
i
>
<
p
class
=
"weui_toast_content"
>已完成</
p
>
</
div
>
</
div
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<
div
id
=
"loadingToast"
class
=
"weui_loading_toast"
style
=
"display:none;"
>
<
div
class
=
"weui_mask_transparent"
></
div
>
<
div
class
=
"weui_toast"
>
<
div
class
=
"weui_loading"
>
<!-- :) -->
<
div
class
=
"weui_loading_leaf weui_loading_leaf_0"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_1"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_2"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_3"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_4"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_5"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_6"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_7"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_8"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_9"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_10"
></
div
>
<
div
class
=
"weui_loading_leaf weui_loading_leaf_11"
></
div
>
</
div
>
<
p
class
=
"weui_toast_content"
>数据加载中</
p
>
</
div
>
</
div
>
|
结果页一般来讲能够认为进行一系列操做步骤后,做为流程结束的总结性页面。结果页的做用主要是告知用户操做处理结果以及必要的相关细节(可用于确认 以前的操做是否有误)等信息;若该流程用于开启或关闭某些重要功能,可在结果页增长与该功能相关的描述性内容;除此以外,结果页也能够承载一些附加价值操 做,例如提供抽奖、关注公众号等功能入口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<
div
class
=
"weui_msg"
>
<
div
class
=
"weui_icon_area"
><
i
class
=
"weui_icon_success weui_icon_msg"
></
i
></
div
>
<
div
class
=
"weui_text_area"
>
<
h2
class
=
"weui_msg_title"
>操做成功</
h2
>
<
p
class
=
"weui_msg_desc"
>内容详情,可根据实际须要安排</
p
>
</
div
>
<
div
class
=
"weui_opr_area"
>
<
p
class
=
"weui_btn_area"
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_primary"
>肯定</
a
>
<
a
href
=
"javascript:;"
class
=
"weui_btn weui_btn_default"
>取消</
a
>
</
p
>
</
div
>
<
div
class
=
"weui_extra_area"
>
<
a
href
=
""
>查看详情</
a
>
</
div
>
</
div
>
|
文字视图显示大段文字,这些文字一般是页面上的主体内容。Article
支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操做。
在微信客户端webview中使用Article
,必须保证文字有足够的可读性和可辨识性、使用规范字体、保证足够的段间距、段首无缩进。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<
article
class
=
"weui_article"
>
<
h1
>大标题</
h1
>
<
section
>
<
h2
class
=
"title"
>章标题</
h2
>
<
section
>
<
h3
>1.1 节标题</
h3
>
<
p
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute</
p
>
</
section
>
<
section
>
<
h3
>1.2 节标题</
h3
>
<
p
>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</
p
>
</
section
>
</
section
>
</
article
>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
i
class
=
"weui_icon_msg weui_icon_success"
></
i
>
<
i
class
=
"weui_icon_msg weui_icon_info"
></
i
>
<
i
class
=
"weui_icon_msg weui_icon_warn"
></
i
>
<
i
class
=
"weui_icon_msg weui_icon_waiting"
></
i
>
<
i
class
=
"weui_icon_safe weui_icon_safe_success"
></
i
>
<
i
class
=
"weui_icon_safe weui_icon_safe_warn"
></
i
>
<
div
class
=
"icon_sp_area"
>
<
i
class
=
"weui_icon_success"
></
i
>
<
i
class
=
"weui_icon_success_circle"
></
i
>
<
i
class
=
"weui_icon_success_no_circle"
></
i
>
<
i
class
=
"weui_icon_info"
></
i
>
<
i
class
=
"weui_icon_waiting"
></
i
>
<
i
class
=
"weui_icon_waiting_circle"
></
i
>
<
i
class
=
"weui_icon_circle"
></
i
>
<
i
class
=
"weui_icon_warn"
></
i
>
<
i
class
=
"weui_icon_download"
></
i
>
</
div
>
|