zoukankan      html  css  js  c++  java
  • 3组件骨架开发

    移动端的开发,需要通过<meta>标签设置视口

    <meta name="viewport"
    content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">

    App是挂载在index.html中的<body>元素下的唯一个子元素<div>中的。要使用Vue组件时,在vue文件中要用export default{}导出。在引用这个vue组件的文件中要先用import导入,然后在components中注册。

    flex布局是用于设置布局的一个常用属性,在这个项目中.tab的三个子元素是三等分的,用flex布局实现,还有后面很多两个元素并列排布,一个元素固定宽度,另一个元素自适应排布的情况也大量用到了flex布局。vue-load中的postcss插件能自动帮我们搞定css的一些兼容性问题。

    用vue-route来实现路由,在main.js用import导入VueRouter,通过 Vue.use() 明确地安装路由功能   Vue.use(VueRouter);

    将组件映射到路由的用法:Html部分,使用<router-link>组件来导航,用to属性指定链接,<router-link>默认会被渲染成一个<a>标签,<router-view>是路由出口,路由匹配到的组件会渲染在这里。

    <div class="tab-item">
    <router-link to="/goods">商品</router-link>
    </div>
    <div class="tab-item">
    <router-link to="/ratings">评论</router-link>
    </div>
    <div class="tab-item">
    <router-link to="/seller">商家</router-link>
    </div>
    </div>
    <keep-alive>
    <router-view :seller="seller"></router-view>
    </keep-alive>

    在js组件中,要定义路由组件(可从其他文件import进来),定义路由,创建router实例(传入routes配置),创建和挂载根实例

    Vue.use(VueRouter);

    const routes = [
    {path: '/goods', component: goods},
    {path: '/ratings', component: ratings},
    {path: '/seller', component: seller}
    ];

    const router = new VueRouter({
    linkActiveClass: 'active',
    routes
    });

    /* eslint-disable no-new */
    new Vue({
    el: '#app',
    router,
    render: h => h(App)
    }).$mount('#app');

    点击区域的设置小技巧。<route.link>中我们设置为display: block,这样字体周围的区域点击后都可以有效跳转。而这个项目之后的内容也用到了设置图标字体的padding来增大有效点击区域。

    <router-link>激活是有一个默认的classrouter-link-exact-active,在生成router实例时可以传入参数改变这个class的名称

    const router = new VueRouter({
    linkActiveClass: 'active',
    routes
    });

    1像素border实现

    用border-bottom: 1px solid 设置的话,由于iphone6的dpr是2,在手机上实际显示的是2px的线。要实现真正的1px,可以用伪类after设置1px的border-bottom,然后根据设备的dpr对伪类进行缩放.

    在mixin.styl文件中,定义border-1px($color),利用&:after生成border,但是这个border实际上还不是一像素的。在base.styl中全局定义class border-1px的样式

    @media(-webkit-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)
      .border-1px
        &::after
          -webkit-transform: scaleY(0.7)
          transfrom: scaleY(0.7)
    @media(-webkit-min-device-pixel-ratio: 2),(min-device-pixel-ratio: 2)
      .border-1px
        &::after
          -webkit-transform: scaleY(0.5)
          transfrom: scaleY(0.5)

    在index.styl文件中可以import所有的styl文件,然后在main.js文件中import index.styl文件

    import './common/stylus/index.styl';

  • 相关阅读:
    最小生成树
    BZOJ3894:文理分科(最大流)(同BZoj3438)
    BZOJ3438:小M的作物 (最大闭合权图->最小割)
    BZOJ 1305:dance跳舞(二分+最大流)
    BZOJ1266:上学路线route (最短路+最小割)
    BZOJ1854:游戏(二分图匹配)
    【PowerOJ1738】最小路径覆盖
    【SPOJ839】Optimal Marks 网络流
    【USACO】AC自动机
    【国家集训队2011】聪聪可可 树分治
  • 原文地址:https://www.cnblogs.com/dingzibetter/p/7258338.html
Copyright © 2011-2022 走看看