京东首页项目(4)---中间模块实现
京东首页项目(4)---中间模块实现
有关京东首页项目之前已经写了3篇博客:
上面两篇写了京东首页的头部模块和顶部模块,这篇来写中间模块。这篇所需完成的工作如下:
这里一共完成4个部分,1、左右两侧背景图片模块 2、商品分类模块 3、轮播图模块 4、会员模块。
这里说下大概实现的逻辑,这里实现的方式是通过 定位+浮动
。
1、首先对于左右两侧背景图片模块来讲它是一整个背景图。那么要把商品模块,轮播图模块、会员模块放在这个背景图片
上。那么后面三个模块都要脱离标准文档流,浮在这个背景图片的上面。
2、这里有个大div包含了这四个模块,然后把这个父div设置相对定位。
3、这个大div里有两个小div,一个包含左右两侧背景图片模块,一个包含其它三个模块。同时都设置绝对定位,同时第二个
决定定位的优先级要比第一个高,这样才能浮在最上面。
4、对于第二个div里的三个模块,就可以通过浮动来实现。
一、左右两侧背景图片模块
这个模块其实就是一张背景图片,中间的白色也是背景图片的一部分
如图
html部分
<div class="ad">
<a href="#"></a>
</div>
css部分
.ad {
height: 480px;
background: url(../images/bg.png) no-repeat top center;
position: absolute; /* 行内块转换 */
top: 0;
left: 0;
width: 100%; /* 强制显示宽度 */
}
.ad a {
display: block;
height: 100%;
}
二、商品分类模块
这个模块分为3部分
如图
HTML部分
<div class="jd-clo1">
<ul>
<li><a href="#">家用电器</a></li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">电脑</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
<li>
<a href="#">手机</a>
<span>/</span>
<a href="#">运营商</a>
<span>/</span>
<a href="#">数码</a>
</li>
</ul>
</div>
CSS部分
.jd-clo1 {
width: 190px;
height: 465px;
background-color: #6E6568;
float: left;
padding-top: 15px;
}
.jd-clo1 li {
padding-left: 10px;
height: 28px;
line-height: 28px;
}
.jd-clo1 li:hover {
background-color: #999395;
}
.jd-clo1 li a {
color: #fff;
font-size: 14px;
}
.jd-clo1 li span {
color: #fff;
font-size: 12px;
}
三、版权模块
这个模块分为4部分
- 左右选择部分(绝对定位实现)
- 轮播图部分
- 轮播图小圆点部分(浮动实现)
- 轮播图下面图片部分 (浮动实现)
如图
html部分
<div class="jd-clo2">
<div class="jd-clo2-hd">
<a href="#" class="arr-l"></a> <!-- 左右图片部分 -->
<a href="#" class="arr-r"></a>
<ol>
<li class="current"></li> <!-- 轮播图小圆点部分 -->
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ol>
<ul> <!-- 轮播图部分 -->
<li><a href="#"><img src="images/banner.jpg"></a></li>
</ul>
</div>
<div class="jd-clo2-bd"> <!-- 展示图片部分 -->
<div class="firstPic">
<img src="images/pic1.jpg" >
</div>
<div>
<img src="images/pic2.jpg" >
</div>
</div>
</div>
CSS部分
.jd-clo2 {
width: 790px;
height: 480px;
float: left;
margin-left: 10px;
}
.jd-clo2-hd {
height: 340px;
margin-bottom: 10px;
position: relative;
}
.jd-clo2-bd div {
width: 390px;
height: 130px;
float: left;
}
.jd-clo2-bd div img {
width: 100%;
}
.firstPic {
margin-right: 10px;
}
.arr-l, .arr-r {
position: absolute;
top: 50%;
margin-top: -30px;
width: 30px;
height: 60px;
background: rgba(0, 0, 0, 0.3);
font-family: "icomoon";
color: #fff;
text-align: center;
line-height: 60px;
font-size: 25px;
}
.arr-l {
left: 0;
}
.arr-r {
right: 0;
}
.jd-clo2-hd ol {
position: absolute;
bottom: 20px;
left: 50%;
margin-left: -90px;
width: 180px;
height: 20px;
background: rgba(255, 255,255, 0.3);
border-radius: 10px;
}
.jd-clo2-hd ol li {
width: 12px;
height: 12px;
background-color: #fff;
border-radius: 50%;
float: left;
margin: 4px 5px;
cursor: pointer;
}
.jd-clo2-hd .current {
background-color: #f10215;
}
四、会员模块
这个模块分为4部分
- 用户(绝对定位实现)
- 促销公告 (绝对定位实现)
- 机票(浮动实现)
如图
html部分
<div class="jd-clo3">
<div class="user">
<div class="user-info">
Hi, 欢迎来到京东! <br />
<a href="#">登录</a>
<a href="#">注册</a>
<a href="#" class="info-img">
<img src="images/no_login.jpg">
</a>
</div>
<div class="user-profit">
<a href="#">新人福利</a>
<a href="#">PLUS会员</a>
</div>
</div>
<div class="news">
<div class="tab-hd">
<a href="javascript:;" class="cuxiao">促销</a>
<a href="javascript:;">公告</a>
<a href="#" class="more1">更多</a>
<div class="line"></div>
</div>
<div class="tab-bd">
<ul>
<li><a href="#">蓄电池专场下单立减100元</a></li>
<li><a href="#">蓄电池专场下单立减100元</a></li>
<li><a href="#">蓄电池专场下单立减100元</a></li>
<li><a href="#">蓄电池专场下单立减100元</a></li>
</ul>
</div>
</div>
<div class="jd-service">
<ul>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
<li>
<a href="#">
<i></i>
<p>机票</p>
</a>
</li>
</ul>
</div>
</div>
css部分
.jd-clo3 {
width: 190px;
height: 480px;
float: right;
}
.jd-clo3 a {
font-size: 12px;
color: #747474;
}
.user {
height: 95px;
background-color: pink;
padding: 20px 15px 0;
}
.user-info {
height: 40px;
padding-left: 54px;
font-size: 12px;
color: #747474;
line-height: 22px;
position: relative;
}
.user-info a {
font-size: 12px;
color: #747474;
}
.user-info a:hover {
color: #f10215;
}
.info-img {
width: 40px;
height: 40px;
position: absolute;
top: 0;
left: 0;
border-radius: 50%;
overflow: hidden;
}
.info-img img {
width: 100%;
height: auto; /* 自动 跟随者宽度 一起缩放 */
}
.user-profit {
margin-top: 14px;
}
.user-profit a {
width: 70px;
height: 20px;
border: 2px solid #f10215;
display: inline-block;
font-size: 12px;
color: #f10215;
text-align: center;
line-height: 20px;
margin-right: 4px;
}
.user-profit a:hover {
background-color: #f10215;
color: #fff;
}
.news {
height: 149px;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
padding: 5px 15px 0;
}
.tab-hd {
border-bottom: 1px solid #ccc;
padding: 3px 0;
position: relative;
}
.tab-hd a {
margin: 0 4px;
}
.cuxiao {
border-right: 1px solid #ccc;
padding-right: 10px;
}
.news .more1 {
position: absolute;
top: 6px;
right: 0;
}
.line {
width: 28px;
height: 2px;
background-color: #f10215;
position: absolute;
bottom: -1px;
left: 0;
}
.tab-bd {
margin-top: 10px;
}
.tab-bd li {
height: 23px;
line-height: 23px;
}
.jd-service {
height: 209px;
/* background-color: skyblue; */
width: 190px;
overflow: hidden;
}
.jd-service ul {
width: 195px;
}
.jd-service li {
width: 47px;
height: 69px;
/* background-color: purple; */
float: left;
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.jd-service li a {
width: 100%;
height: 100%; /* 根据父亲 */
/* height: auto; 针对于自己的高度和宽度 */
display: block;
}
.jd-service i {
display: block;
width: 24px;
height: 24px;
margin: 15px auto 8px;
background: url(../images/sprite_fs@1x.png) no-repeat;
}
.jd-service p {
text-align: center;
}
你如果愿意有所作为,就必须有始有终。(14)