MUI 框架之 【原生UI】

(1)accordion(折叠面板)

由二级列表演化而来

 <ul class="mui-table-view">
2   <li class="mui-table-view-cell mui-collapse">
    <a class="mui-navigate-right" href="#"></a>
      <div class="mui-collapse-content">
        <p>不拉不拉</p>
      </div>
   </li>
</ul>

代码块激活字符:maccordion

(2)actionsheet(操作表)

从底部弹出,显示选择项的操作按钮
 <div id="sheet1" class="mui-popover mui-popover-bottom mui-popover-action ">
    <!-- 可选择菜单 -->
  <ul class="mui-table-view">
    <li class="mui-table-view-cell">
      <a href="#">菜单1</a>
    </li>
    <li class="mui-table-view-cell">
      <a href="#">菜单2</a> </li>
  </ul>
    <!-- 取消菜单 -->
  <ul class="mui-table-view">
    <li class="mui-table-view-cell">
      <a href="#sheet1"><b>取消</b></a>
    </li>
  </ul>
</div>

【经典案例】:

 <div id="gender" class="mui-popover mui-popover-action mui-popover-bottom">
   <ul class="mui-table-view">
    <li class="mui-table-view-cell">
      <a href="#">男</a>
    </li>
    <li class="mui-table-view-cell">
      <a href="#">女</a>
    </li>
    <li class="mui-table-view-cell">
      <a href="#">保 密</a>
    </li>
  </ul>
  <ul class="mui-table-view">
     <li class="mui-table-view-cell">
      <a href="#gender"><b>取 消</b></a>
    </li>
  </ul>
</div>
若要使用js代码动态显示、隐藏actionsheet,同样在popover插件的构造方法中传入"toggle"参数即可,如下: mui('#sheet1').popover('toggle');
代码块激活字符:mactionsheet

(3)badge(数字角标)

用于数量提示。比如消息条数。
角标的核心类是.mui-badge,默认为实心灰色背景;同时,mui还内置了蓝色(blue)、绿色(green)、黄色(yellow)、红色(red)、紫色(purple)五种色系的数字角标,如下:
 <span class="mui-badge">1</span>
<span class="mui-badge mui-badge-primary">12</span>
<span class="mui-badge mui-badge-success">123</span>
<span class="mui-badge mui-badge-warning">3</span>
<span class="mui-badge mui-badge-danger">45</span>
<span class="mui-badge mui-badge-purple">456</span>
若无需底色,则增加.mui-badge-inverted类即可,如下:
 <span class="mui-badge mui-badge-inverted">1</span>
<span class="mui-badge mui-badge-primary mui-badge-inverted">2</span>
<span class="mui-badge mui-badge-success mui-badge-inverted">3</span>
<span class="mui-badge mui-badge-warning mui-badge-inverted">4</span>
<span class="mui-badge mui-badge-danger mui-badge-inverted">5</span>
<span class="mui-badge mui-badge-royal mui-badge-inverted">6</span>
代码块激活字符:mbadge

(4)button(按钮)

 <button type="button" class="mui-btn">默认</button>
<button type="button" class="mui-btn mui-btn-primary">蓝色</button>
<button type="button" class="mui-btn mui-btn-success">绿色</button>
<button type="button" class="mui-btn mui-btn-warning">黄色</button>
<button type="button" class="mui-btn mui-btn-danger">红色</button>
<button type="button" class="mui-btn mui-btn-royal">紫色</button>
若希望无底色、有边框的按钮,仅需增加.mui-btn-outlined类即可,代码如下:
 <button type="button" class="mui-btn mui-btn-outlined">默认</button>
<button type="button" class="mui-btn mui-btn-primary mui-btn-outlined">蓝色</button>
<button type="button" class="mui-btn mui-btn-success mui-btn-outlined">绿色</button>
<button type="button" class="mui-btn mui-btn-warning mui-btn-outlined">黄色</button>
<button type="button" class="mui-btn mui-btn-danger mui-btn-outlined">红色</button>
<button type="button" class="mui-btn mui-btn-royal mui-btn-outlined">紫色</button>
代码块激活字符:mbutton

(5)cardview(卡片视图)

卡片视图常用于展现一段完整独立的信息。
使用mui-card类即可生成一个卡片容器,卡片视图主要有页眉、内容区、页脚三部分组成,结构如下:
 <div class="mui-card">
<!--页眉,放置标题-->
<div class="mui-card-header">页眉</div>
<!--内容区-->
<div class="mui-card-content">内容区</div>
<!--页脚,放置补充信息或支持的操作-->
<div class="mui-card-footer">页脚</div>
</div>
卡片页眉及内容区,均支持放置图片; 页眉放置图片的话,需要在.mui-card-header节点上增加.mui-card-media类,然后设置一张图片做背景图即可,代码如下:
 <div class="mui-card-header mui-card-media" style="height:40vw;background-image:url(../images/cbd.jpg)"></div>
若希望在页眉放置更丰富的信息,比如头像、主标题、副标题,则需使用.mui-media-body类,示例代码如下:
 <div class="mui-card-header mui-card-media">
  <img src="../images/logo.png" />
  <div class="mui-media-body">
    小M
    <p>发表于 2016-06-30 15:30</p>
  </div>
</div>

(6)checkbox(复选框)

checkbox常用于多选的情况,比如批量删除。
 <div class="mui-input-row mui-checkbox">
  <label>checkbox示例</label>
  <input name="checkbox1" value="Item 1" type="checkbox" checked>
</div>
默认checkbox在右侧显示,若希望在左侧显示,只需增加.mui-left类即可,如下:
 <div class="mui-input-row mui-checkbox mui-left">
  <label>checkbox左侧显示示例</label>
  <input name="checkbox1" value="Item 1" type="checkbox">
</div>
代码块激活字符:mckeckbox

(7)dialog(对话框)

 
 
代码块激活字符:mdalert mdconfirm mdprompt mdtoast mdclosepopup mdclosepopups

(8)图片轮播

 <div class="mui-slider">
  <div class="mui-slider-group">
    <div class="mui-slider-item"><a href="#"><img src="1.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="2.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="3.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="4.jpg" /></a></div>
  </div>
</div>
假设当前图片轮播中有1、2、3、4四张图片,从第1张图片起,依次向左滑动切换图片,当切换到第4张图片时,继续向左滑动,接下来会有两种效果:
  • 支持循环:左滑,直接切换到第1张图片;
  • 不支持循环:左滑,无反应,继续显示第4张图片,用户若要显示第1张图片,必须连续向右滑动切换到第1张图片;
当显示第1张图片时,继续右滑是否显示第4张图片,是同样问题;这个问题的实现需要通过.mui-slider-loop类及DOM节点来控制;
若要支持循环,则需要在.mui-slider-group节点上增加.mui-slider-loop类,同时需要重复增加2张图片,图片顺序变为:4、1、2、3、4、1,代码示例如下:
 <div class="mui-slider">
  <div class="mui-slider-group mui-slider-loop">
  <!--支持循环,需要重复图片节点-->
    <div class="mui-slider-item mui-slider-item-duplicate"><a href="#"><img src="4.jpg" /></a></div>
5     <div class="mui-slider-item"><a href="#"><img src="1.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="2.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="3.jpg" /></a></div>
    <div class="mui-slider-item"><a href="#"><img src="4.jpg" /></a></div>
  <!--支持循环,需要重复图片节点-->
    <div class="mui-slider-item mui-slider-item-duplicate"><a href="#"><img src="1.jpg" /></a></div>
  </div>
</div>
JS Method
mui框架内置了图片轮播插件,通过该插件封装的JS API,用户可以设定是否自动轮播及轮播周期,如下为代码示例:
 //获得slider插件对象
var gallery = mui('.mui-slider');
gallery.slider({
interval:5000//自动轮播周期,若为0则不自动播放,默认为0;
});
因此若希望图片轮播不要自动播放,而是用户手动滑动才切换,只需要通过如上方法,将interval参数设为0即可。
代码块激活字符:mslider

(9)grid(栅格)

MUI 提供了非常简单实用的12列响应式栅格系统。使用时只需在外围容器上添加.mui-row,在列上添加 .mui-col-[sm|xs]-[1-12],即可
代码块激活字符:mrow mcolsm mcolxs

(10)icon(图标)

mui默认提供了手机App开发常用的字体图标,如下:
 
使用时,只需要在span节点上分别增加.mui-icon、.mui-icon-name两个类即可(name为图标名称,例如:weixin、weibo等),如下代码即可显示一个微信图标:
 <span class="mui-icon mui-icon-weixin"></span>
代码块激活字符:micon

(11)input(表单)

所有包裹在.mui-input-row 类中的 input、textarea等元素都被默认设置宽度属性为width: 100%; 将 label元素和上述控件包裹在.mui-input-group中可以获得最好的排列。
 <form class="mui-input-group">
  <div class="mui-input-row">
    <label>用户名</label>
    <input type="text" class="mui-input-clear" placeholder="请输入用户名">
  </div>
  <div class="mui-input-row">
    <label>密码</label>
    <input type="password" class="mui-input-password" placeholder="请输入密码">
  </div>
  <div class="mui-button-row">
    <button type="button" class="mui-btn mui-btn-primary" >确认</button>
    <button type="button" class="mui-btn mui-btn-danger" >取消</button>
  </div>
</form>
密码框显示隐藏密码:
给input元素添加.mui-input-password类即可使用。
 <form class="mui-input-group">
2   <div class="mui-input-row">
    <label>密码框</label>
4     <input type="password" class="mui-input-password" placeholder="请输入密码">
  </div>
</form>

示例:

验证表单是否为空
 <div class="mui-input-group">
  <div class="mui-input-row">
    <label>用户名:</label>
    <input type="text" class="mui-input-clear" placeholder="请输入用户名">
  </div>
  <div class="mui-input-row">
    <label>密码:</label>
8     <input type="password" class="mui-input-clear mui-input-password" placeholder="请输入密码">
  </div>
</div>
提交时校验三个字段均不能为空,若为空则提醒并终止业务逻辑运行,使用each()方法循环校验,如下:
 mui("#input_example input").each(function() {
//若当前input为空,则alert提醒
if(!this.value || this.value.trim() == "") {
var label = this.previousElementSibling;
mui.alert(label.innerText + "不允许为空");
check = false;
return false;
}
}); //校验通过,继续执行业务逻辑
if(check){
mui.alert('验证通过!')
}
代码块激活字符:minput

(12)list(列表)

列表是常用的UI控件,mui封装的列表组件比较简单,只需要在ul节点上添加.mui-table-view类、在li节点上添加.mui-table-view-cell类即可,如下为示例代码
 <ul class="mui-table-view">
  <li class="mui-table-view-cell">Item 1</li>
  <li class="mui-table-view-cell">Item 2</li>
  <li class="mui-table-view-cell">Item 3</li>
</ul>
 
右侧添加导航箭头
 
 <ul class="mui-table-view">
  <li class="mui-table-view-cell">
    <a class="mui-navigate-right">Item 1</a>
  </li>
  <li class="mui-table-view-cell">
    <a class="mui-navigate-right">Item 2</a>
  </li>
  <li class="mui-table-view-cell">
    <a class="mui-navigate-right">Item 3</a>
10   </li>
</ul>
右侧添加数字角标
 <ul class="mui-table-view">
  <li class="mui-table-view-cell">Item 1
    <span class="mui-badge mui-badge-primary">11</span>
  </li>
  <li class="mui-table-view-cell">Item 2
    <span class="mui-badge mui-badge-success">22</span>
  </li>
  <li class="mui-table-view-cell">Item 3
    <span class="mui-badge">33</span>
  </li>
</ul>
media list (图文列表)
图文列表继承自列表组件,主要添加了.mui-media、.mui-media-object、.mui-media-body、.mui-pull-left/right几个类,如下为示例代码
 <ul class="mui-table-view">
  <li class="mui-table-view-cell mui-media">
    <a href="javascript:;">
     <img class="mui-media-object mui-pull-left" src="../images/shuijiao.jpg">
     <div class="mui-media-body">
      幸福
      <p class='mui-ellipsis'>能和心爱的人一起睡觉,是件幸福的事情;可是,打呼噜怎么办?</p>
    </div>
    </a>
  </li>
  <li class="mui-table-view-cell mui-media">
    <a href="javascript:;">
    <img class="mui-media-object mui-pull-left" src="../images/muwu.jpg">
    <div class="mui-media-body">
      木屋
      <p class='mui-ellipsis'>想要这样一间小木屋,夏天挫冰吃瓜,冬天围炉取暖.</p>
    </div>
    </a>
  </li>
  <li class="mui-table-view-cell mui-media">
    <a href="javascript:;">
    <img class="mui-media-object mui-pull-left" src="../images/cbd.jpg">
23     <div class="mui-media-body">
      CBD
      <p class='mui-ellipsis'>烤炉模式的城,到黄昏,如同打翻的调色盘一般.</p>
    </div>
    </a>
  </li>
29 </ul>
代码块激活字符:mlist
 
(13)遮罩蒙版
在popover、侧滑菜单等界面,经常会用到蒙版遮罩;比如popover弹出后,除popover控件外的其它区域都会遮罩一层蒙版,用户点击蒙版不会触发蒙版下方的逻辑,而会关闭popover同时关闭蒙版;再比如侧滑菜单界面,菜单划出后,除侧滑菜单之外的其它区域都会遮罩一层蒙版,用户点击蒙版会关闭侧滑菜单同时关闭蒙版。
遮罩蒙版常用的操作包括:创建、显示、关闭,如下代码:
 var mask = mui.createMask(callback);//callback为用户点击蒙版时自动执行的回调;
mask.show();//显示遮罩
mask.close();//关闭遮罩
注意:关闭遮罩仅会关闭,不会销毁;关闭之后可以再次调用mask.show();打开遮罩;
mui默认的蒙版遮罩使用.mui-backdrop类定义(如下代码),若需自定义遮罩效果,只需覆盖定义.mui-backdrop即可;
 .mui-backdrop {
position: fixed;
top:;
right:;
bottom:;
left:;
z-index:;
}
代码块激活字符:mmask
 
OK,今天的学习总结就是这些了,持续更新中……

【MUI框架】学习笔记整理 Day 1的更多相关文章

  1. Deep Learning(深度学习)学习笔记整理系列之(八)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  2. Deep Learning(深度学习)学习笔记整理系列之(三)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  3. Java基础及JavaWEB以及SSM框架学习笔记Xmind版

    Java基础及JavaWEB以及SSM框架学习笔记Xmind版 转行做程序员也1年多了,最近开始整理以前学习过程中记录的笔记,以及一些容易犯错的内容.现在分享给网友们.笔记共三部分. JavaSE 目 ...

  4. Spring框架学习笔记(8)——spring boot+mybatis plus+mysql项目环境搭建

    之前写的那篇Spring框架学习笔记(5)--Spring Boot创建与使用,发现有多小细节没有提及,,正好现在又学习了mybatis plus这款框架,打算重新整理一遍,并将细节说清楚 1.通过I ...

  5. javaweb学习笔记整理补课

    javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...

  6. python学习笔记整理——字典

    python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...

  7. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  8. Deep Learning(深度学习)学习笔记整理系列之(五)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

  9. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  10. Deep Learning(深度学习)学习笔记整理系列之(七)

    Deep Learning(深度学习)学习笔记整理系列 zouxy09@qq.com http://blog.csdn.net/zouxy09 作者:Zouxy version 1.0 2013-04 ...

随机推荐

  1. 删除 Win10 更新后的 Z 盘符(已验证)

    如果你有一些不希望被访客看见的文件.照片或者视频,希望将它隐藏在一个只有自己知道的地方,那么今天的这篇教程非常适合你.我们要实现的最终效果是这样的:在Win10的"此电脑"中,有这 ...

  2. linux对文件赋权限的命令chmod的详细说明

    指令名称 : chmod使用权限 : 所有使用者 使用方式 : chmod [-cfvR] [--help] [--version] mode file... 说明 : Linux/Unix 的档案调 ...

  3. Go语言学习笔记(2)——变量、常量

    1. 变量(变量由字母.数字和下划线组成,且不能以数字开头!)      1.1 第一种 var name type // 未赋值时使用默认值 name = value 1.2 第二种: 根据所赋的值 ...

  4. 【NOIP2013】 火柴排队 贪心+splay

    这题为啥我写得这么复杂. 首先我们不难发现,我们将序列$a$和序列$b$排序,考虑两序列内无相同元素,那么最小值显然为$\sum_{i=1}^{n} (a_i-b_i)^2$. 下面考虑做法 首先,我 ...

  5. 数据结构---散列表查找(哈希表)概述和简单实现(Java)

    散列表查找定义 散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,是的每个关键字key对应一个存储位置f(key).查找时,根据这个确定的对应关系找到给定值的key的对应f(key) ...

  6. UML入门 之 交互图 -- 时序图 协作图详解

    作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/17927131 动态图概念 : 从静态图中抽取瞬间值的变化描 ...

  7. [原创] rtrim() 格式化中文问题

    先看以下代码 var_dump(rtrim("互联网产品.", ".")); 我们以为会得到结果 "互联网产品", 但实际上获得的是 &qu ...

  8. (转)解锁MySQL备份恢复的4种正确姿势

    本文根据DBAplus社群第104期线上分享整理而成. 原文:http://dbaplus.cn/news-11-1267-1.html 讲师介绍   冯帅 点融网高级DBA 获有Oracle OCM ...

  9. C/C++ -- Gui编程 -- Qt库的使用 -- 使用图片与动画

    QWidget工程 #include "mywidget.h" #include "ui_mywidget.h" #include <QLabel> ...

  10. docker “no space left on device”问题定位解决

    在paas环境上使用docker加载镜像的时候出现了如下问题 第一反应应该是存储镜像的路径磁盘满了 docker info查看docker的根路径,可以看到为/opt/docker: 查看/opt/d ...