02- 小米页面-头部尾部

1 抽组件

抽组件主要是为了复用

首页 抽取 头部和尾部

 2 引入一些样式

2.1  引入rest.scss默认样式

body,div,p,h1,h2,h3,h4,h5,h6,ul,li,dl,dt,a,input,button,textarea,select{margin: 0;padding: 0;outline: none;
}
html,body{font-family:Helvetica Neue,Helvetica,Arial,Microsoft Yahei,Hiragino Sans GB,Heiti SC,WenQuanYi Micro Hei,sans-serif;color: #333333;background-color: #ffffff;min-width: 1226px;font-size: 12px;
}
a{text-decoration: none;
}
ul,li{list-style: none;
}
input{font: normal;
}
input:focus,a:focus{outline: none;
}

版心1226px,有一个安全距离,防止缩小变形:   记得设置一个最小宽度,  min-width: 1226px;

引入样式:

2.2 config.css

/*样式规范表
*/
$min-width:1226px;  //容器安全区域宽度// 常规字体大小设置
$fontA:       80px; //产品站大标题
$fontB:       38px; //产品站标题
$fontC:       28px; //导航标题
$fontD:       26px; //产品站副标题
$fontE:       24px; 
$fontF:       22px;
$fontG:       20px; //用在较为重要的文字、操作按钮
$fontH:       18px; //用于大多数文字
$fontI:       16px; //用于辅助性文字
$fontJ:       14px; //用于一般文字
$fontK:       12px; //系统默认大小// 常规配色设置
$colorA:      #FF6600 !default; //用于需要突出和强调的文字、按钮和icon
$colorB:      #333333 !default; //用于较为重要的文字信息、内页标题等
$colorC:      #666666 !default; //用于普通段落信息 引导词
$colorD:      #999999 !default; //用于辅助、此要的文字信息、普通按钮的描边
$colorE:      #cccccc !default; //用于特别弱的文字
$colorF:      #d7d7d7 !default; //用于列表分割线、标签秒变
$colorG:      #ffffff !default; //用于导航栏文字、按钮文字、白色背景
$colorH:      #e5e5e5 !default; //用于上下模块分割线
$colorI:      #000000 !default; //纯黑色背景,用于遮罩层
$colorJ:      #F5F5F5 !default; //弹框标题背景色
$colorK:      #FFFAF7 !default; //订单标题背景色

sass的好处是预编译:可以提前定义变量。可以通过加载变量来实现一个样式的功能

3 navHeader.vue

分上下两个部分,导航栏 和下边的 导航菜单

3.1 导航栏 

小的导航都会用a标签,添加margin-right

 小图标用背景 设置

  购物车().icon-cart {display: inline-block;width: 16px;height: 12px;background: url('@/assets/imgs/icon-cart-checked.png') no-repeat center;background-size: contain;margin-left: 15px;margin-right: 2px;}

2  登录的时候显示名字, 没有登录显示请登录

 跳转购物车: 路由跳转  

   login () {this.$router.push('/login')},goToCart () {this.$router.push('/cart')}

3.2 导航菜单

相当于相框和相册的关系(类似轮播图)

2 菜单导航

 2.1  菜单下边有子区域,用a就不太合适了,我们用div 

 2.2 设置下边的搜索框

1 先实现静态页面 2 获取最近6条数据 3 要查种类下的数据

1因为要循环数据,用ul li更合适

ul 宽高-》li宽高-》 图片,文字

2 边框: 不能加border-right,  用伪类添加一条线

最后一个边框去除:

              &:last-child::after {

                width: 0px;

              }

3图片和文字水平居中对齐: 给父盒子添加text-align:center

 4 &:hover {

          color:orange;

          .children {

            height: 220px;

            opacity: 1;

          }

        }

调用接口:

    getProductList () {this.axios.get('/products', {params: {categoryId: '100012',pageSize: 6}}).then(res => {window.console.log(res)this.phoneList = res.list})},

前端也可以截取6条数据: this.phoneList = res.list.slice(0,6)

渲染:

添加过滤器处理钱 :

  filters: {currency (val) {if (!val) return '0.00'return '¥' + val.toFixed(2) + '元'}},

 3 搜索框

div > (input + a)  : 搜索图标  带手而且可以跳转,所以用a

4 抽取公共样式

base.scss

 会把base.css的代码都加载到 vue当中

5 抽取公共方法

mixin.scss

4 narFooter

 父盒子: text-align:center 使得都水平居中

a|b|c :     给|添加margin

5 服务条

1好多页面都使用了,进行封装,单弄出一个组件 serviceBar

2平分四份, 防止变形 设置宽度width: 24.9% 

3 高度和线的高度一致,用border-right

或者给li添加margin : 33px 0px

目标: 使得盒子(li)就字体那么高


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部