2025年3月29日 星期六 甲辰(龙)年 月廿八 夜 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > 软件工程

WeUI 为微信 Web 服务量身设计

时间:02-20来源:作者:点击数:50

概述

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


安装

方式一(推荐)

微信官方、Staticfile CDN 和 cdnjs 为 WeUI 提供了 CDN 链接,推荐使用,链接如下:

来源 地址
微信官方 //res.wx.qq.com/open/libs/weui/0.4.3/weui.min.css
Staticfile CDN //cdn.staticfile.org/weui/0.4.3/style/weui.css
cdnjs //cdnjs.cloudflare.com/ajax/libs/weui/0.4.3/style/weui.css

方法二:

使用bower进行安装

  • bower install --save weui

方法三:

使用npm进行安装

  • npm install --save weui

开发

  • 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


手机预览

请用微信扫码

WEUI 在线实例


按钮(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 decoding="async" 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 decoding="async" 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>

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支持分段、多层标题、引用、内嵌图片、有/无序列表等富文本样式,并可响应用户的选择操作。

在微信客户端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 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>

图标

  • <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>
  • </div>

项目下载地址

Github 地址:https://github.com/weui/weui

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门