【京东商城首页实战2】导航条制作(1)

接下来,开始制作京东的导航条。效果如下图:

图1
图1

业务分析:
1.通栏盒子,并且有背景颜色
2.有版心。
3.版心里面包含左右浮动的两个盒子。
4.有下拉效果的盒子后面,有三角形标志。
5.右边的盒子里面包含几个li标签。

分析完之后,对整个头部的构架和要实现的功能都有简单的了解,下面就是开始一步一步实现这些业务。

1.制作一个通栏的盒子,并设置背景颜色。

html代码:

<body>
    <div class="header"></div>
</body>

因为首页头部导航是共用的部分,所以样式写在base.css里面。打开fireworks,用切片工具测量一下导航栏的高度为30px。(没有样本图,抱歉。大家就不用测量了,直接用我给数据就行)。然后用吸管工具吸一下颜色,得到十六进制颜色为: #f1f1f1。宽度就是整个页面,可以不用写。
CSS代码:

.header {
    height: 29px;
    background-color: #f1f1f1;
}

然后用浏览器打开,效果如下:
这里写图片描述
图2

2.添加版心

版心就是网页正中间,存放内容的盒子。通过测量版心的宽度为1210px。在上一篇css样式格式化中,已经提取出来,并设置了宽度,这里就不需要在单独写了,只需要添加一个盒子,带w类就行。
html代码:

<div class="header">
        <div class="w"></div>
    </div>

可以给版心盒子增加高度,并设置一个背景颜色,看看效果:

这里写图片描述
图3

效果:
这里写图片描述
图4

3.左边盒子制作

版心盒子里面包含两个盒子,左边的盒子内容是“送至:北京”,后面有三角符号。当点击三角的时候,下拉列表会出现很多城市名,用户可以自由选择送达城市。
从语义上来讲,这个盒子应该是个定义列表。所以,我就用定义列表做这个盒子。
HTML代码:

<div class="w">
     <div class="fl">
     <!--左盒子-->
     <!--类名为公共类,左浮动-->
          <div class="dt">
          送至:北京
          </div>
      </div>
      <div class="fr"></div>
      <!--右盒子-->
</div>

效果:
这里写图片描述
图5

文字出现在网页中,但使没有文本居中,所以要给父亲盒子加行高,并使行高等于盒子的高度。

这里写图片描述
图6

4.下拉小三角的制作

原理如图:

这里写图片描述
图7

这里写图片描述
图8

<i> 标签原是显示斜体文本效果,<s>标签是定义加删除线文本,不建议使用,这里用作CSS钩子,来制作小三角。

效果:
这里写图片描述
图9

下面,只需要在CSS样式里面设置菱形的文本样式,并给i盒子和s盒子的定位就行。

CSS代码:

.header .dt{
    padding: 0 20px 0 10px;
    /*测量样图,dt盒子左边有一个10px的间隔。布局宽高最稳定、其次padding,最后margin。
    而且margin使用有兼容问题,所以尽量用margin表示兄弟盒子之间间距。
    所以,使用padding把表示盒子与版心隔开10px。dt盒子右边距可以根据实际情况设置大小,这里设置20px。*/
    position: relative;
    /*子绝父相法则:i盒子要想以某个盒子为参照进行绝对定位,那么,参照的父盒子要相对定位。*/
}
.dt i {
    font: 400 15px "宋体";
    /*设置菱形的加粗、字体和字号。700=bold */
    /*font 合写的顺序:font-style | font-variant | font-weight |
    font-size | line-height | font-family*/
    position: absolute;
    /*绝对定位,一个盒子绝对定位之后就可以设置宽高了。绝对定位不占位置*/
    width: 15px;
    /*设置i盒子的宽度有讲究,使其正好和菱形字号相等*/
    height: 7px;
    /*i盒子的高也有讲究,使其正好是菱形字号的一半。这样菱形的下半部分正好可以和i盒子重合。*/
    top: 13px;
    /*距离dt盒子上padding13px*/
    right: 3px;
    /*距离dt盒子的右padding3px。 如果你设置dt的右padding值不是20px,这个数值也要跟着改变。*/
    background: pink;
    /*设置一个背景颜色,看看盒子效果*/

效果:

这里写图片描述
图10

但是,我们想要是i盒子和菱形的下半部分重合,所以还需要给s盒子定位,使其再往上移一部分。

.dt s{
    position: absolute;
    /*s盒子也需要绝对定位,它的位置需要使i盒子和菱形的下半部分重合,如图7所示。*/
    top: -8px;
    /*top正值是往下移,要想往上移就用负值*/
    left: 0;
    /*因为设置i盒子的宽度和菱形的字号相同,这里可以不需要设置左边定位。
    如果两者不一样宽度,左定位需要根据情况设置。*/
}

效果:

这里写图片描述
图11

至此,小三角已经基本完工了,我们只需要给i盒子overflow:hidden,隐藏溢出部分,就留下了菱形下半部分。

这里写图片描述
图12

效果:

这里写图片描述
图13

好了,导航条左边部分已经完工了,下篇接着做右边部分。

  • 18
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Vue京东商城项目实战是一个基于Vue.js开发的实际项目,旨在帮助开发者学习和实践Vue.js框架的使用。该项目的目标是搭建一个类似于京东商城的电商网站,涵盖了商品展示、购物车、订单管理等功能模块。 在这个项目中,你可以学习到如何使用Vue.js的核心概念,包括组件化、路由、状态管理等。同时,你还可以了解到常见的电商网站开发流程和技术选型。 具体来说,你可以按照以下步骤进行Vue京东商城项目实战: 1. 设计项目架构:确定项目的目录结构和模块划分,选择合适的UI框架(如Element UI)。 2. 构建商品展示页面:通过API获取商品数据,使用Vue组件展示商品列表,支持商品搜索和筛选功能。 3. 实现购物车功能:使用Vuex管理购物车数据,实现添加、删除和更新购物车商品的功能,并计算购物车总价。 4. 完善用户登录与注册:设计用户登录和注册页面使用Vue Router实现页面跳转和权限控制。 5. 实现订单管理:创建订单页面,支持用户下单、查看订单详情等功能。 6. 集成支付功能:使用第三方支付平台的SDK,实现用户支付功能。 7. 优化和部署:对项目进行性能优化,如代码分割、懒加载等,并将项目部署到服务器上。 通过完成这个项目,你可以对Vue.js的开发流程和技巧有更深入的了解,并且掌握基于Vue.js开发实际项目的能力。希望对你有帮助!如果有更多问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值