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. 获取本机网卡ip地址

    import sys, os import socket, struct, fcntl import six import psutil def get_ip(iface="enp0s3&q ...

  2. [Python]List 过滤

    获取数据库列表屏蔽系统自带数据库 # 原代码 db_list_result = [('master', ), ('tempdb', ), ('model', ), ('msdb', ), ('stud ...

  3. css沉默

    css变色龙实现. ==== css 1 水平居中和垂直居中. 2 css布局方式. 3 你写过UI框架么.

  4. Windows远程连接Ubuntu上的MySQL数据库

    原因:mysql安装好后,默认监听3306端口,并且只允许localhost访问,只允许root用户在localhost上登录.   我的环境:                 Ubuntu16.04 ...

  5. Java连载89-SorteSet、Comparable接口

    一. SortedSet集合直接举例 package com.bjpowernode.java_learning; import java.util.*; /** * java.util.Set * ...

  6. .NET CORE应用程序启动

    ASP.NET Core 应用是在其 Main 方法中创建 Web 服务器的控制台应用: Main 方法调用 WebHost.CreateDefaultBuilder,通过生成器模式来创建web主机. ...

  7. Policy-based Approach(基于策略的方法)

    step 1:Neural Network as Actor step 2:goodness of function(训练一些Actor) 是一个序列,包含T个状态s.行为a.奖励s.代表某一次的开始 ...

  8. centos配置网络yum源 和本地yum源

    一,网络yum源 1.备份 yum文件 cd /etc/ cp -r  yum.repos.d  yum.repos.d.bak 2.在系统联网的情况下执行下面命令下载 wget -O /etc/yu ...

  9. myeclipse 2018 intaslled jars JREs 选项区别,及注意事项

    Standard 1.1.x VM与Standard VM的区别 在Eclipse或MyEclipse中要设置Installed JREs时,有三个选择: - Execution Environmen ...

  10. 原创: idea 的maven 方式配置 开发javaWeb(idea+tomcat +maven

    通过idea 编辑器来配置基于maven创建站点,在tomcat上配置 在采用idea 配置之前,首先要确保maven和 tomcat 正确运行. maven 配置链接 tomcat 配置链接 实际你 ...