WeUI 为微信 Web 服务量身设计

概述

WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含buttoncelldialogprogresstoastarticleicon等各式元素。

使用

方法一:

使用bower进行安装

bower install --save weui

方法二:

使用npm进行安装

npm install --save weui

以上两种方法安装后,只需要在页面中引入dist/style/weui.css或者dist/style/weui.min.css其中之一即可. 例如:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"><title>WeUI</title><link rel="stylesheet" href="path/to/weui/dist/style/weui.min.css"/></head><body></body>
</html>

开发

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

手机预览

请用微信扫码

http://weui.github.io/weui/

第三方扩展

  • kevyu/weui-sass
  • Eric-Guo/weui-rails(Using kevyu/weui-sass)
  • n7best/react-weui
  • aidenzou/vue-weui
  • ZTfer/weui-sketch

Button

按钮可以使用a或者button标签。wap上要触发按钮的active态,必须触发ontouchstart事件,可以在body上加上ontouchstart=""全局触发。

按钮常见的操作场景:确定、取消、警示,分别对应class:weui_btn_primaryweui_btn_defaultweui_btn_warn,每种场景都有自己的置灰态weui_btn_disabled,除此外还有一种镂空按钮weui_btn_plain_xxx,客户端webview里的按钮尺寸有两类,默认宽度100%,小型按钮宽度自适应,两边边框与文本间距0.75em:

<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

Cell,列表视图,用于将信息以列表的结构显示在页面上,是wap上最常用的内容结构。Cell由多个section组成,每个section包括section headerweui_cells_title以及cellsweui_cells

cell由thumbnailweui_cell_hd、bodyweui_cell_bd、accessoryweui_cell_ft三部分组成,cell采用自适应布局,在需要自适应的部分加上classweui_cell_primary即可:

带说明的列表项

<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下的代码:

<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>

Dialog

若系统的alert窗体无法满足网页的临时视图内容需求,则可以自定义实现与alert形式相似的dialog,并且在dialog中可以自定义地使用各种控件,来满足需求。

<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>

<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>

Progress

progress用于上传、下载等耗时并且需要显示进度的场景,用户可以随时中断该操作。

<div class="weui_progress"><div class="weui_progress_bar"><div class="weui_progress_inner_bar" style="width: 50%;"></div></div><a href="javascript:;" class="weui_progress_opr"><i class="weui_icon_cancel"></i></a>
</div>

Toast

toast用于临时显示某些信息,并且会在数秒后自动消失。这些信息通常是轻量级操作的成功、失败或等待状态信息。

<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>

<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>

Msg Page

结果页通常来说可以认为进行一系列操作步骤后,作为流程结束的总结性页面。结果页的作用主要是告知用户操作处理结果以及必要的相关细节(可用于确认之前的操作是否有误)等信息;若该流程用于开启或关闭某些重要功能,可在结果页增加与该功能相关的描述性内容;除此之外,结果页也可以承载一些附加价值操作,例如提供抽奖、关注公众号等功能入口。

<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

文字视图显示大段文字,这些文字通常是页面上的主体内容。Article支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操作。

在微信客户端webview中使用Article,必须保证文字有足够的可读性和可辨识性、使用规范字体、保证足够的段间距、段首无缩进。

<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 eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodoconsequat. Duis aute</p></section><section><h3>1.2 节标题</h3><p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat nonproident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p></section></section>
</article>

ActionSheet

ActionSheet用于显示包含一系列可交互的动作集合,包括说明、跳转等。由底部弹出,一般用于响应用户对页面的点击。

<div id="actionSheet_wrap"><div class="weui_mask_transition" id="mask"></div><div class="weui_actionsheet" id="weui_actionsheet"><div class="weui_actionsheet_menu"><div class="weui_actionsheet_cell">示例菜单</div><div class="weui_actionsheet_cell">示例菜单</div><div class="weui_actionsheet_cell">示例菜单</div><div class="weui_actionsheet_cell">示例菜单</div></div><div class="weui_actionsheet_action"><div class="weui_actionsheet_cell" id="actionsheet_cancel">取消</div></div></div>
</div>

Icon

<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><i class="weui_icon_info_circle"></i><i class="weui_icon_cancel"></i>
</div>

TODO

  • 更多的组件
  • react-weui

微信公众号开发官方定制ui相关推荐

  1. 基于Vue的微信公众号开发及选型研究

    目录 1.背景介绍 1.1微信公众号简介 1.2Vue框架简介 1.3组件库简介 2.开发流程 2.1申请微信公众号 2.2申请微信测试号及配置 2.3安装微信开发者工具 2.4创建Vue项目 2.5 ...

  2. 微信公众号开发系列-12、微信前端开发利器:WeUI

    1.前言 通过前面系列文章的学习与讲解,相信大家已经对微信的开发有了一个全新的认识.后端基本能够基于盛派的第三方sdk搞定大部分事宜,剩下的就是前端了.关于手机端的浏览器的兼容性问题相信一直是开发者们 ...

  3. 微信公众号开发C#系列-12、微信前端开发利器:WeUI

    本文目录 1.前言 2.WeUI基本介绍 2.1 WeUI概述 2.2 为什么选择jQuery WeUI 3.jQuery WeUI基本用法 4.其他基础组件展示 4.1.switch开关 4.2.文 ...

  4. 微信公众号开发系列-13、基于RDIFramework.NET框架整合微信开发应用效果展示

    微信公众号开发系列-13.基于RDIFramework.NET框架整合微信开发应用效果展示 1.前言 通过前面一系列文章的学习,我们对微信公众号开发已经有了一个比较深入和全面的了解. 微信公众号开发为 ...

  5. Java微信公众号开发之网页授权获取用户基本信息

    本篇博客讲解的网页授权只需要前端传递一个backUrl(回调地址) 到后台接口,后台接口会完成整个授权流程,无需前端做更多工作: 一. 前言 微信公众号开发,需要用到网页授权获取用户信息,通过OAut ...

  6. 微信公众号开发之准备工作

    这是微信公众号开发的第一步.是网页授权的那章的前提. 工作室有关一个订餐系统的开发,我对公众号开发比较感兴趣,所以参与这方面的学习. 本章主要讲述两个方面的内容,一是工具的准备,二是环境的配置. -- ...

  7. 微信公众号开发小记(二)--服务器验证

    这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...

  8. C#微信公众号开发 -- (七)自定义菜单事件之VIEW及网页(OAuth2.0)授权

    通俗来讲VIEW其实就是我们在C#中常用的a标签,可以直接在自定义菜单URL的属性里面写上需要跳转的链接,也即为单纯的跳转. 但更多的情况下,我们是想通过VIEW来进入指定的页面并进行操作. 举一个简 ...

  9. C#微信公众号开发系列教程三(消息体签名及加解密)

    http://www.cnblogs.com/zskbll/p/4139039.html C#微信公众号开发系列教程一(调试环境部署) C#微信公众号开发系列教程一(调试环境部署续:vs远程调试) C ...

最新文章

  1. textarea怎么占满整个td_怎么知道网上的视频是不是专业摆拍?关注这些细节就可以了...
  2. python--常用模块:collections 、time、random
  3. 基于J2EE+JBPM3.x/JBPM4.3+Flex流程设计器+Jquery+授权认证)企业普及版贝斯OA与工作流系统...
  4. 04 canvas——位移画布和旋转缩放
  5. MiniO对象存储服务 磁盘缓存快速入门 ​​​​​​​
  6. Spring_使用(JDBC)
  7. .rpt文件内容读取java_Java快速入门(26) 文件和IO操作
  8. java web开发中会遇到的异步执行方案
  9. java匹配机制_Java Spring:需要通配符@RequestMapping来匹配所有BUT / images / *以及对原始URL的访问权限...
  10. 移除元素所有事件监听_前端日记—DOM 事件机制和事件委托
  11. Visual Studio 设置快捷代码段
  12. JAVAWeb项目 微型商城项目-------(六)管理员登录
  13. div加jquery实现iframe标签的功能
  14. 阿里云oss出现Unable to execute HTTP request: bucket.二级域名.域名: nodename nor servname provided, or not known
  15. wan端口未连接怎么弄_路由器WAN口未连接解决方法,WAN口未连接怎么办
  16. python实现大规模邻域搜索(LNS)求解旅行商问题(TSP)
  17. 利用excel表格将IP(IPV4)地址自动按段拆分每一段的数值至单元格
  18. window10快捷键
  19. word里面插入的图片如何替换
  20. mybatis plus SQL注入器 及 InsertBatchSomeColumn LogicDeleteByIdWithFill AlwaysUpdateSomeColumnById装载器

热门文章

  1. IP大混战,春节档你最看好谁?
  2. 【五月集训】—— 汇聚星球,算法锤炼,集中一点,登峰造极
  3. STP基础(锐捷、H3C交换机开启STP)
  4. opencv学习笔记(2017年8月21日)之图像腐蚀操作
  5. oracle rac节点重启的原因,由重启引起的Oracle RAC节点宕机分析及追根溯源
  6. .m3u8视频文件的初步探索
  7. python字符串驻留机制_python字符串驻留(intern)机制
  8. Ubuntu下常用配置笔记(一)Cuda版本切换
  9. A session ended very soon after starting. Check that the command in profile解决方法
  10. 网络爬虫的 “ 黑洞 ”