WeUI是一套基础样式库,同微信原生视觉体验一致,由微信官方设计团队为微信内网页和微信小程序量身设计的。
我们来看看这个基础库样式到底长什么样。

这些密密麻麻的就是压缩后的样式库。密密麻麻地看起来简直要急死密集恐惧症啊。不要急,您请往下看。
仔细看我们能看到,这个样式库为很多类写了样式。也就是说,我们只要在html页面中使用这些样式,就能构建一个页面了。【只要写类名,省去了为很多标签定义样式,是不是省事多了呢?】
对WeUI的介绍就到这了,下面都是满满的干货啦。

开始写页面前的准备

要想有这个样式库,当然要先下载WeUI的样式库啦,我提供了两个下载的地址。

接下来就为我们的页面引入这个基础样式库。
我把这个基础样式库放在本地了,就这么引入。

<link rel="stylesheet" href="./css/weui.min.css">

为了更好的说明这个基础样式库的使用,接下来我将介绍两个例子。单页应用页面和弹出框。

单页应用页面

我们致敬vue,模仿这个页面。
纵观整个页面,可以分为以下几个模块。

  • 最顶上放置logo

  • 中间有两个cells 也就是单元格,来显示数据

  • 最底部有一个tabbar导航条

引入代码:

<div style="height:100%">
<div class="center">
</div>
<div class="weui-cells">
</div>
<div class="weui-cells">
</div>
<p class="vue-version">current vue version 2.5.2</p>
<div class="weui-tabbar">
</div>
</div>

顶部的图片插入比较简单,直接引入图片就行。我们说说中间cells中内容的添加。
我们看一个单元格,很典型的左中右格式,分为三个结构层次,

  • 左边是一张图片,WeUI样式库为我们定义了类名,也就是单元格的头部:weui-cell__hd

  • 中间是一段文字,也就是这个单元格的身体:weui-cell__bd

  • 最右边是一个小箭头,也就是单元格的尾部:weui-cell__ft

引入代码:

<div class="weui-cells">
<!-- _access能显示一个箭头 -->
<a href="#" class="weui-cell weui-cell_access">
<div class="weui-cell__hd">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAuCAMAAABgZ9sFAAAAVFBMVEXx8fHMzMzr6+vn5+fv7+/t7e3d3d2+vr7W1tbHx8eysrKdnZ3p6enk5OTR0dG7u7u3t7ejo6PY2Njh4eHf39/T09PExMSvr6+goKCqqqqnp6e4uLgcLY/OAAAAnklEQVRIx+3RSRLDIAxE0QYhAbGZPNu5/z0zrXHiqiz5W72FqhqtVuuXAl3iOV7iPV/iSsAqZa9BS7YOmMXnNNX4TWGxRMn3R6SxRNgy0bzXOW8EBO8SAClsPdB3psqlvG+Lw7ONXg/pTld52BjgSSkA3PV2OOemjIDcZQWgVvONw60q7sIpR38EnHPSMDQ4MjDjLPozhAkGrVbr/z0ANjAF4AcbXmYAAAAASUVORK5CYII=" alt="">
</div>
<div class="weui-cell__bd">
<p>Live Demo</p>
</div>
<div class="weui-cell__ft"></div>
</a>
</div>

这样,我们就写完了一个单元格。
第二个单元格有两个小格怎么办呢?
不要紧,weui-cell是单元格中的一个小格子,有多少个小格子就嵌套在一个weui-cells中就可以了,每一格weui-cell还是按照上面的左中右方式进行命名:

<div class="weui-cells">
<a href="" class="weui-cell weui-cell_access">
<span class="weui-cell__hd"></span>
<span class="weui-cell__bd"></span>
<span class="weui-cell__ft">
<!-- weui-badge是显示在箭头前面的红色提示小框 -->
<div class="weui-badge"></div>
</span>
</a>
<a href="" class="weui-cell weui-cell_access">
<span class="weui-cell__hd"></span>
<span class="weui-cell__bd"></span>
<span class="weui-cell__ft"></span>
</a>
</div>

接下来是最底部的tabbar。
最尾部的导航条类名为weui-tabbar,里面有三项内容,也就是有三个weui-tabbar__item。

<div class="weui-tabbar">
<a href="" class="weui-tabbar__item">
</a>
<a href="" class="weui-tabbar__item">
</a>
<a href="" class="weui-tabbar__item">
</a>
</div>

为每一个weui-tabbar__item添加内容吧:

<div class="weui-tabbar">
<a href="" class="weui-tabbar__item">
<img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
<p class="weui-tabbar__label">Home</p>
</a>
<a href="" class="weui-tabbar__item">
<span style="position:relative;display:inline-block">
<img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
<!-- weui-badge表示一个红色的展示区 -->
<span class="weui-badge" style="position:absolute;top:-6;right:-11px">8</span>
</span>
<p class="weui-tabbar__label">Demos</p>
</a>
<a href="" class="weui-tabbar__item">
<span style="position:relative;display:inline-block">
<img src="./images/icon_tabbar.png" alt="" class="weui-tabbar__icon">
<!-- weui-badge_dot小圆点,给一个相对于span的定位,放在右上角 -->
<span class="weui-badge weui-badge_dot" style="position:absolute;top:0;right:-6px"></span>
</span>
<p class="weui-tabbar__label">Donate</p>
</a>
</div>

我放在GitHub上的项目地址:https://github.com/TeanLee/qs...
这就完成了第一个单页页面的编写。

接下来我们说说一个弹出框。

页面弹出框

放上我们要写的页面成品图:

这就是我们平常很常见的弹出框了。这里是点击了第一个按钮就弹出这个弹框,点击取消,弹框消失,当然你也可以添加别的事件,点击取消和保存都会让弹框消失并且执行相应的步骤。

首先,我们为dialog弹出框制作一个“家”,也就是dialog放置的页面:
weui-btn 是weui的基本组件是一个按钮

<div class="page dialog">
<div class="page__hd">
<h1 class="page__title">Dialog</h1>
<p class="page__desc">对话框</p>
</div>
<div class="page__bd page__bd__spacing">
<!-- 设置三个按钮,但是我只为第一个按钮绑定了弹框弹出的事件 -->
<a href="#" class="weui-btn weui-btn_default" id="showIOSDialog1">IOS Dialog样式 default</a>
<a href="#" class="weui-btn weui-btn_primary">IOS Dialog样式 primary</a>
<a href="#" class="weui-btn weui-btn_warn">IOS Dialog样式 warn</a>
</div>
</div>

接下来,我们的dialog就要登场了。直接把dialog的div放在放置按钮div的后面。

<div class="dialogs">
<div id="iosDialog1" class="js_dialog" style="display: none">
<!-- weui-mask 遮罩层 -->
<div class="weui-mask"></div>
<div class="weui-dialog">
<div class="weui-dialog__hd">
<div class="weui-dialog__title">弹窗标题</div>
</div>
<div class="weui-dialog__bd">
<!-- 任何东西 说明文字, 表单 -->
弹窗内容,告知当前状态、信息和解决方法,描述文字尽量控制在三行内
</div>
<!-- 弹窗底部的两个小按钮,有两个选项就放置两个 weui-dialog__btn -->
<div class="weui-dialog__ft">
<a href="#" class="weui-dialog__btn weui-dialog__btn_default" id="dialogCancle">取消</a>
<a href="#" class="weui-dialog__btn weui-dialog__btn_primary">保存</a>
</div>
</div>
</div>

这里的遮罩层是为整个页面蒙上一层灰色的背景,把用户的吸引力引到弹框上。
弹框的内容还是分为三个层次:

  • weui-dialog__hd:弹框的头部写标题;

  • weui-dialog__bd:弹框的身体写具体内容;

  • weui-dialog__ft:弹框的尾部放置按钮;

接下来,就是给第一个按钮添加绑定事件了,点击第一个按钮就跳出来弹框。

<script>
document.getElementById('showIOSDialog1').click(function () {
$('#iosDialog1').show();
});
document.getElementById('dialogCancle').click(function () {
$('#iosDialog1').show();
});
</script>

我放在GitHub上的弹框具体代码:https://github.com/TeanLee/qs...

当然,weu基础样式库还有很多很多组件可以使用,可以进入https://weui.io/ 查看更多的基础组件。
接下来让我们一起学习更多吧!

WeUI基础样式库——写一个移动端界面的更多相关文章

  1. 用python的time库写一个进度条

    运算符 算数运算 如a=10,b=20 +两个数相加 a+b=30 -两个数相减 a-b=-10 两个数相乘 a****b =200 /两个数相除b/a=2 %取模,并返回余数b%a=0 幂,a*** ...

  2. 用java写一个用户登陆界面

    一.课堂测试源代码及其结果截图 用java的swing写一个用户登录界面,采用网格布局.源代码如下: /** * */package LiuLijia; import java.awt.CardLay ...

  3. QT学习日记篇-03-仿写一个智能家居界面

    课程大纲: <1>让界面漂亮起来,仿写一个智能家居界面 ->第一:给QT工程添加图片 进入下一步: <注意路径和名称一定不能有中文>                   ...

  4. 用H5和js写一个移动端自定义播放器

    前言 由于html5自带的播放器样式不怎么好看,大多数人都是自己写一个来满足业务需求.这一次的需求如下: 1.不要上一曲下一曲 2.有进度条和播放暂停按钮 3.有时间显示 demo实现功能 1.进度条 ...

  5. 怎样写一个PC端使用的操盘手软件(用来买卖股票,查看报表,行情)

    我们想写一个操盘手软件,对于操盘而言,首先是快,然后是资料尽可能丰富,最好能看到行情,报表什么的.只是windows上写软件看似基础,实际上都不怎么好弄,用C++开发确实可以实现所有功能,估计光研发费 ...

  6. Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互

    框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java   model文件夹下的 Global ...

  7. 使用Boostrap框架写一个登录\注册界面

    Bootstrap是一个Web前端开发框架,使用它提供的css.js文件可以简单.方便地美化HTML控件.一般情况下,对控件的美化需要我们自己编写css代码,并通过标签选择器.类选择器.ID选择器为指 ...

  8. 利用jmSlip写一个移动端顶部日历选择组件

    可滚动选日期,并限制哪些日期可选和不可选. 主要用来根据后台返回生成一个日期选择器. 具体实现可关注jmslip: https://github.com/jiamao/jmSlip 示例:http:/ ...

  9. 用python requests库写一个人人网相册爬虫

    担心人人网会黄掉,写个爬虫,把我的相册照片都下载下来.代码如下: # -*- coding: utf-8 -*- import requests import json import os def m ...

随机推荐

  1. opencv简单实用(cv2)

    一.介绍 安装:pip install opencv-python OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS ...

  2. 1163 - Bank Robbery

    1163 - Bank Robbery   In one very cold morning, Mark decides to rob a bank. But while trying hacking ...

  3. SQL Server 2019 表无法修改问题

    SQL Server 2019 表无法修改问题 问题描述: 解决方法: 1.在菜单栏中,点击工具->选项,示例: 2.在选项中单击设计器->表设计器和数据库设计器->取消勾选阻止保存 ...

  4. C#制作Wincc组件进行配方管理

    1,安装WinccV7.4并破解: 安装WinccV7.4SP1. 安装授权文件---根据提示 安装免狗驱动,根据提示 安装SImatic.net v13. 2,连接PLC, 首先在同一个局域网里面, ...

  5. NServiceBus 入门到精通(一)

    什么是NServiceBus?NServiceBus 是一个用于构建企业级 .NET系统的开源通讯框架.它在消息发布/订阅支持.工作流集成和高度可扩展性等方面表现优异,因此是很多分布式系统基础平台的理 ...

  6. Mysql数据库操作(命令行)

    1 环境 树莓派: mysql: 2  指令 以下是从命令行中连接mysql服务器的简单实例: [root@host]# mysql -u root -p Enter password:****** ...

  7. 详细讲解Codeforces Round #624 (Div. 3) E. Construct the Binary Tree(构造二叉树)

    题意:给定节点数n和所有节点的深度总和d,问能否构造出这样的二叉树.能,则输出“YES”,并且输出n-1个节点的父节点(节点1为根节点). 题解:n个节点构成的二叉树中,完全(满)二叉树的深度总和最小 ...

  8. Jenkins集成jacoco收集集成测试覆盖率

    Jenkins集成jacoco收集集成测试覆盖率 2020-02-28 目录 0 整体思路1 安装版本2 全局工具配置3 Jenkins创建JacocoIntegrateTestDemo项目  3.1 ...

  9. vue 注意

    Path Intellisense 插件 @路径提醒 配置文件中配置: "path-intellisense.mappings": { "@": "$ ...

  10. 通过phpstorm管理svn的gui界面报错问题

    mac通过phpstorm来gui管理svn时,提示Invalid VCS root mappings 原因是因为mac中的svn版本过高,phpstorm可以兼容的版本是svn 1.6 \ 1.7 ...