WeUI前端搭建

前端UI采用微信团队开发的weui,项目在GitHub的地址是 https://github.com/weui/weui

准备工作

使用git clone将weui下载到Laravel的public目录下,并在public目录下新建4个目录css、js、images、fonts。将weui的css文件放入/public/css/目录中。使用npm下载jquery或zepto,并将其放置到/public/js/目录下。

创建页面布局

通常页面中会发生变化的大多为三个位置:页面标题、页面主题、页面JS,所以创建通用页面模板master.blade.php

/resources/views/目录下创建master.blade.php统一页面布局模板,并引入weui和jquery。

WeUI页面层级

WeUI页面层级 用于规范WeUI页面元素所属层级、层级顺序及组合规范。

布局模板页面 /resources/view/layout.blade.php

<html lang="en">
<head>
    <meta charset="UTF-8"/>
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0"/>
    <title>@yield('title')</title>
    <link rel="stylesheet" href="css/weui.css"/>
    <link rel="stylesheet" href="css/style.css"/>
    <script src="js/zepto.min.js"></script>
</head>
<body>
    <div id="popout">@yield('popout')</div>
    <div id="mask">@yield('mask')</div>
    <div id="navigation">@yield('navigation')</div>
    <div id="content">@yield('content')</div>
</body>
@yield('myjs')
</html>

公共CSS文件 /public/css/style.css

html,body{height:100%;-webkit-tap-highlight-color:transparent;}
#content{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-color:#fafafa;-webkit-overflow-scrolling:touch;}

(1)弹出层:提示组件 /resources/view/component/toptips.blade.php

<!--toptips-->
<div class="weui-toptips weui-toptips_warn js_tooltips"><span>系统提示</span></div>

(2)遮罩层:透明蒙版组件 /resources/view/components/mask.blade.php

<div class="weui-mask_transparent"></div>

(3)导航层:弹出式菜单 /resources/view/components/actionsheet.blade.php

<!--actionsheet-->
<div class="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 id="cancelActionsheet" class="weui-actionsheet__cell">取消</div>
    </div>
</div>

(4)内容层:弹出按钮 /resources/views/test.blade.php

<style>
    #showActionsheet{width:50px;height:50px;border-radius:50%;background-color:#ddd;opacity:0.8;position:absolute;right:25px;bottom:25px;}
    #showActionsheet div{width:40px;height:40px;border-radius:50%;background-color:#ddd;margin:5px;}
</style>
<div id="showActionsheet"><div></div></div>
<script>
    $(function () {
        var mask = $('#mask .weui-mask_transparent');
        var actionsheet = $('#navigation .weui-actionsheet');
        var actionsheet_cancel = $('#navigation .weui-actionsheet .weui-actionsheet__action');
        //mask.hide();
        $('#showActionsheet').on('click', function () {
            actionsheet.addClass('weui-actionsheet_toggle');
            mask.fadeIn(200);
        });
        mask.on('click', function () {
            actionsheet.removeClass('weui-actionsheet_toggle');
            mask.fadeOut(200);
        });
        actionsheet_cancel.on('click', function () {
            actionsheet.removeClass('weui-actionsheet_toggle');
            mask.fadeOut(200);
        });
    });
</script>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,491评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,207评论 4 61
  • 前言 利用前端框架能快速搭建出所需要的页面。这样就不用费心思去设计了,节省了开发时间和成本。常用的前端框架有Boo...
    Songzh阅读 8,360评论 0 0
  • 有一句挺经典的话:计算机离开软件就是一个盒子。没错,如果没有软件的支持,一堆硬件毫无用处,那么硬件软件是如何协调工...
    KillerManA阅读 3,624评论 1 1
  • 说句心里话,原本我早就想动手写写这篇文章,迟迟未动笔的原因是:一来因接触简书时间不长,没有获得可圈可点的成绩,感觉...
    野猫爱鱼阅读 4,010评论 70 60