【京东商城首页实战9】导航菜单栏和下拉列表

接下来开始做下面的部分,包括红色背景部分、导航菜单栏、右边的图片,如图:

这里写图片描述
图1

分析:

1.构架:全部商品分类是一个盒子、导航菜单是一个盒子,图片是一个盒子。
2.点击红色部分会出现下拉列表,从语义上讲它是定义列表。
3.导航菜单栏上有绿色小图标

1.左边下拉列表上部分

先做全部商品分类部分:

HTML代码:

<div class="jd-nav clearfix">

   <div class="w">
   
      <div class="dropdown">
      
         <div class="dt">
         
            <a href="#">全部商品分类a>
         div>
      div>
    div>
div> 

CSS代码:

.jd-nav {
    width: 100%;
    height: 44px;
    border-bottom: 2px solid #B1191A;
}
/*效果1*/
.dropdown {
    width: 210px;
    height: 44px;
    float: left;
    position: relative;
    z-index: 10;
    /*标准流的盒子层级是0,脱标的的盒子层级是1(浮动、定位).因为下拉列表会盖住其他的盒子,所以要单独设定层级*/
    overflow: visible;
    /*dropdown盒子有点特殊,它自身和父亲盒子一样大小,下拉列表实际上就是它的兄弟,只是溢出了父亲盒子。这里用overflow: visible;
    就是要溢出的兄弟显示出来*/
}
/*效果2*/

效果1:

这里写图片描述

效果2:
【京东商城首页实战9】导航菜单栏和下拉列表_第1张图片

2.中间导航菜单栏制作

导航菜单用无序列表做。

HTML代码:

<div class="navitems">
   <ul>
       <li><a href="#">服装城a>li>
       <li><a href="#">美妆馆a>li>
       <li><a href="#">超市a>li>
       <li><a href="#">全球购a>li>
       <li><a href="#">闪购a>li>
       <li class="new"><a href="#">团购a>li>
       <li><a href="#">拍卖a>li>
       <li><a href="#">金融a>li>
      <li><a href="#">智能a>li>
   ul>
div>

CSS代码:

.navitems {
    width: 680px;
    height: 44px;
    float: left;
}
.navitems li {
    float: left;
}
.navitems li a {
    display: block;
    color: #333;
    font:400 15px/44px "微软雅黑";
    padding:0 20px;
}
.navitems li a:hover {
    color: #B1191A;
}
/*效果3*/
.navitems li.new {
    background: url(../images/new.jpg) no-repeat right top;
    /*设定一个单独的类,有盒子需要添加图标,就给所在的盒子添加类名即可*/
}
/*效果4*/

效果3:
【京东商城首页实战9】导航菜单栏和下拉列表_第2张图片

效果4:
【京东商城首页实战9】导航菜单栏和下拉列表_第3张图片

附上效果4上边的绿色图标:

这里写图片描述

插入右边的图片
右边的图片紧靠右侧版心,所以是右浮动。点击图片可以进入活动主页,里面应该包含一个a标签。
附上图片:
这里写图片描述

HTML代码:

<div class="bike">
   <a href="#">a>
div>

CSS代码:

.bike a {
    float: right;
    height: 44px;
    width: 140px;
    background:url(../images/bike.jpg) no-repeat;
}

效果5:

这里写图片描述

3.下拉列表完整

在做导航菜单使已经做了一部分下拉列表,就是有红色背景的“全部商品分类”。这节重点说下拉列表的做法。
原理:
父盒子无法装下子盒子,子盒子会溢出。
分析样本图,从语义上讲“全部商品分类”和下面的列表是意义有关联,应该归入一个盒子。但是第二个盒子的显现又不是静态的。当它出现的时候,覆盖住下面的内容,当不出现的时候不占空间。要做出这样的效果,可以利用盒子溢出原理,因为隐藏溢出不占用空间。这样,后面就可以利用JS做交互效果:当点击第一个儿子,就overflow:visible;当鼠标离开时,overflow:hidden。
所以,处理这个案例时,就可以使第一个盒子的宽高和父盒子相同,第二个子盒子完全溢出父盒子外。

HTML代码:

<div class="dropdown">
   <div class="dt">
      <a href="#">全部商品分类a>
   div>
   <div class="dd">
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
      div>
      <div class="items">
         <h3>家用电器h3>
         <span>>span>
      div>
      <div class="items">
         <h3>手机、数码、京东通信h3>
         <span>>span>
       div>
       <div class="items">
          <h3>手机、数码、京东通信h3>
          <span>>span>
       div>
div>

下拉效果1:
【京东商城首页实战9】导航菜单栏和下拉列表_第4张图片

CSS代码:

.dropdown {
    width: 210px;
    height: 44px;
    float: left;
    position: relative;
    z-index: 10;
    /*标准流的盒子层级是0,脱标的的盒子层级是1(浮动、定位).因为下拉列表会盖住其他的盒子,所以要单独设定层级*/
    overflow: visible;
    /*dropdown盒子有点特殊,它自身和父亲盒子一样大小,下拉列表实际上就是它的兄弟,只是溢出了父亲盒子。这里用overflow: visible;
    就是要溢出的兄弟显示出来*/
}
.dropdown .dt a {
    display: block;
    font: 400 15px/44px "microsoft yahei";
    background-color: #B1191A;
    color: #fff;
    padding-left: 10px;
    /*文字和边框之间有距离*/
}
.dropdown .dd {
    height: 465px;
    /*先给第二个儿子设定宽高,宽高可由内容自动撑开,后面可以去掉*/
    background-color: #C81623;
    margin-top: 2px;
    /*第二个儿子没有压住祖父盒子的下border,所以下移2px*/
}
/*下拉效果2*/
.dropdown .items {
    height: 31px;
    /*有行高撑开,这里的高可以删掉*/
    line-height: 31px;
    border-left: 1px solid #B61D1D;
    padding-left: 10px;
    /*左边距离dd盒子有10px间距*/
    color: #fff;
    font-size: 15px;
    font-family:"微软雅黑";
    /*给每个列表设置样式*/
}
/*下拉效果3*/
.dropdown .items h3 {
    float: left;
    /*每个div里有两个元素,字向左浮动,>图标向右浮动*/
}
.dropdown .items span {
    float: right;
    margin-right: 15px;
    font-family: "宋体";
    font-weight: 600;
    /*给>图标设置样式*/
}
/*下拉效果4*/

下拉效果2:
【京东商城首页实战9】导航菜单栏和下拉列表_第5张图片
下拉效果3:
【京东商城首页实战9】导航菜单栏和下拉列表_第6张图片

下拉效果4:
【京东商城首页实战9】导航菜单栏和下拉列表_第7张图片

好啦!导航菜单和下拉列表已经完成了,至此,京东网页也完成了一小半,成果如下图,感受一下,嘻嘻~:

【京东商城首页实战9】导航菜单栏和下拉列表_第8张图片

谢谢大家,欢迎指正!欲知后事如何,且听明天分解。晚安!

你可能感兴趣的:(手把手实战,前端实战)