1.图标字体引用
2.scss 二三倍图切换 1像素边框
3.better-scroll
4.布局
商品主页面
<div id="app"> <v-header :seller='seller'></v-header> <div class="tab"> <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> </div>
主页面包含头部,三个tab菜单切换。头部在页面切换时通用。每个菜单下router-view都有通用商家信息,通过props动态传入seller数据给各个子组件。
<router-view :seller='seller'></router-view>
1.header.vue组件
<template> <div class="header"> <!-- 头部内容 --> <div class="content-wrapper"> <div class="avatar"></div> <div class="content"></div> <div class="supports_count" @click="showDetail(true)"></div> </div> <!-- 公告栏 --> <div class="bulletin-wrapper" @click="showDetail(true)"> <span class="bulletin-title"></span> <span class="bulletin-text"></span> <span class="icon-keyboard_arrow_right"></span> </div> <!-- 背景 --> <div class="background"></div> <!-- 头部详细页面 --> <transition name="fade"> <div class="detail" v-show="detailShow"> <div class="detail-main"> <div class="name"></div> <div class="star-wrapper"></div> <div class="title"></div> <div class="supports"></div> <div class="title"></div> <div class="content"></div> </div> <div class="detail-close" @click="showDetail(false)"></div> </div> </transition> </div> </template>
公告栏一行多余字体省略
.bulletin-wrapper{ position: relative; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
.bulletin-title{
//span元素转为行内块元素 为了可以使用width height控制图标大小 display: inline-block; vertical-align: middle; @include bg-image("bulletin"); } .bulletin-text{ } .icon-keyboard_arrow_right
//字体图标绝对定位 position absolute top: 9px right 2px }