项目准备

项目名称:京东商城

项目描述:京东首页公共部分的头部和尾部制作,京东首页中间部分。

设计目标

  • 保证浏览器 ie7及以上, 火狐, 360, safari,chrome等。谁让我再测ie6,就跟谁急。。

  • 熟悉CSS+DIV布局,页面的搭建工作

  • 了解常用电商类网站的布局模式

  • 为后期京东移动端做铺垫

几点思考

(1)开发工具 sublime 、fireworks(ps)、各种浏览器(ie6.7 要测看心情)

(2)CSS Rest 类库,为跨浏览器兼容做准备(也可以直接运用jd网站的初始化)

normalize.css 
只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性。
相比于传统的CSS reset,Normalize.css是一种现代的、为HTML5准备的优质替代方案。
Normalize.css现在已经被用于Twitter Bootstrap、HTML5 Boilerplate、GOV.UK、Rdio、CSS Tricks 以及许许多多其他框架、工具和网站上。 你值得拥有。。 - 保护有用的浏览器默认样式而不是完全去掉它们 - 一般化的样式:为大部分HTML元素提供 - 修复浏览器自身的bug并保证各浏览器的一致性 - 优化CSS可用性:用一些小技巧 - 解释代码:用注释和详细的文档来

(3)技术栈

HTML5 结构 + CSS3  布局

(4)低版本浏览器 单独制作一个跳转页面 (都是孩子,也舍不得打,舍不得扔)

https://h5.m.jd.com/dev/3dm8aE4LDBNMkDfcCaRxLnVQ7rqo/index.html

目录说明

要实现结构和样式相分离的设计思想。 根目录下有这4个文件(目录)。

项目开始

通用部分

1.icon图标

标题上的小图标

右键另存为到网站根目录下。

引入icon图标

代码:  <link rel="shortcut icon" href="favicon.ico"  type="image/x-icon"/>       

注意:

  1. 它不是iconfont字体。

  2. 代码位置是放到 head 标签中间。

  3. 后面的type="image/x-icon" 属性可以省略。

  4. 为了兼容性,请将favicon.ico 这个图标放到根目录下。

转换icon图标

我们可以自己做图片,转换为 ico图标,以便放到我们站点里面。 http://www.bitbug.net/

2.网站优化三大标签

SEO是由英文Search Engine Optimization缩写而来,中文意译为“搜索引擎优化”!

SEO是指通过对网站进行站内优化、网站结构调整、网站内容建设、网站代码优化等)和站外优化,从而提高网站的关键词排名以及公司产品的曝光度。

简单的说就是,把产品做好,搜索引擎就会介绍客户来。

我们现在阶段主要进行站内优化。网站优化,我们应该要懂。。。

①网页title 标题

title具有不可替代性,是我们的内页第一个重要标签,是搜索引擎了解网页的入口,和对网页主题归属的最佳判断点。

建议:

首页标题:网站名(产品名)- 网站的介绍

例如:

京东(JD.COM)-综合网购首选-正品低价、品质保障、配送及时、轻松购物!

小米商城 - 小米5s、红米Note 4、小米MIX、小米笔记本官方网站

②Description 网站说明

对于关键词的作用明显降低,但由于很多搜索引擎,仍然大量采用网页的MATA标签中描述部分作为搜索结果的“内容摘要”。 就是简要说明我们网站的主要做什么的。 我们提倡,Description作为网站的总体业务和主题概括,多采用“我们是…”“我们提供…”“×××网作为…”“电话:010…”之类语句。

京东网:

<meta name="description" content="京东JD.COM-专业的综合网上购物商城,销售家电、数码通讯、电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物体验!" />

注意:

  1. 描述中出现关键词,与正文内容相关,这部分内容是给人看的,所以要写的很详细,让人感兴趣, 吸引用户点击。

  2. 同样遵循简短原则,字符数含空格在内不要超过 120 个汉字。

  3. 补充在 title 和 keywords 中未能充分表述的说明.

  4. 用英文逗号 关键词1,关键词2

<meta name="description" content="小米商城直营小米公司旗下所有产品,囊括小米手机系列小米MIX、小米Note 2,红米手机系列红米Note 4、红米4,智能硬件,配件及小米生活周边,同时提供小米客户服务及售后支持。" />

③Keywords 关键字

Keywords是页面关键词,是搜索引擎关注点之一。Keywords应该限制在6~8个关键词左右,电商类网站可以多一点。

京东网:

 <meta name="Keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配件,手表,存储卡,京东" />

小米网:

<meta name="keywords" content="小米,小米6,红米Note4,小米MIX,小米商城" />

3.火狐浏览器截图工具

用火狐浏览器的截图工具截取网页图片

点击截图按钮——截取整个网页——保存,稍后可用ps来截取我们需要的图片

顶部(快捷菜单)所用知识点

1.头部制作

①版心:

用ps量出网页的版心,修改css代码,定义版心宽度并居中

②广告条部分

分析:一个div里面套一个版心,版心中有一个图片形式的链接(a标签+img标签/背景图片,如果使用背景图片的方法要先将a转换为块级元素,设置高度,再填充背景图片)

ps量出高度,修改css样式,编写HTML结构

2.快速导航栏

①写好结构和基本样式

 分析:一个div(底部有边框),里面套一个版心div,一部分文字(ul)向左浮动,一部分文字(ul)向右浮动;最后引入字体图标

<!-- 快速导航栏 -->
<div class="shortcut">
<div class="w">
<ul class="fl city">
<li>北京</li>
</ul>
<ul class="fr">
<li>
<a href="#">你好,请登录</a>
<a href="#" class="f10">免费注册</a>
</li>
<li class="space"></li>
<li>
<a href="#">我的订单</a>
</li>
<li class="space"></li>
<li>
<a href="#">我的京东</a>
<i></i>
</li>
<li class="space"></li>
<li>
<a href="#">京东会员</a>
</li> <li class="space"></li>
<li>
<a href="#">企业采购</a>
</li>
<li class="space"></li>
<li>
<a href="#">客户服务</a>
<i></i>
</li>
<li class="space"></li>
<li>
<a href="#">网站导航</a>
<i></i>
</li>
<li class="space"></li>
<li>
<a href="#" class="mobile">手机京东
<img src="data:images/mobile.png" height="60" width="60" alt="">
</a>
</li>
</ul>
</div>
</div>

css:

/*浮动的公共类*/
.fl{
float: left;
}
.fr{
float: right;
}
a{
text-decoration: none; /*取消链接默认下划线*/
font-size: 12px;
color: #999;
}
a:hover { /*鼠标放到链接上的颜色*/
color: #c81623;
}
ul{
list-style: none;/*清除列表样式*/
margin: 0; /*清除内外边距*/
padding: 0;
}
body{
background-color: #f6f6f6; /*整个页面的背景颜色*/
}
/*快速导航栏部分*/
.shortcut{
height: 30px; /*没有高度撑开,不会显示*/
line-height: 30px; /*行高=容器高,可以使字体居中*/
background-color: #e3e4e5;
border-bottom: 1px solid #ddd;
font-size: 12px; /*导航栏中字体大小*/
color: #999; /*字体颜色*/ }
.city{ /*定义“北京”的左外边距,给logo倒出位置*/
margin-left: 200px;
}
.shortcut li{ /*列表本来是竖着排列,浮动后变为一行*/
float: left;
}
.space{ /*间隔的小竖线*/
width: 1px;
height: 10px;
background-color: #ccc;
margin:10px 12px 0;
}
.f10{ /*常用的红色单独定义出来*/
color: #f10215;
}

 ②引入字体图标:

 下载字体图标地址:https://icomoon.io/

 点击这个按钮,选择想要的图标,进行下载~

将下载好的压缩包解压,font文件夹下得到下面4个文件,放入项目的fonts文件夹中。

 

引入字体图标步骤:

  1)打开压缩包中的demo.html。复制想要的图标到 标签中,将 标签插入到需要字体图标的位置。

  2)在css文件中声明字体图标:将压缩包中的style.css前面的声明代码复制到我们的css文件中,修改成正确的路径。

  

  3)调用字体图标。

  

  font-style:normal ,去掉 i 默认的倾斜样式

③手机京东下面的二维码

  

如果直接在手机京东后加图片,会把手机京东这几个字挤下来

  

  解决办法:给它们开启定位

  

  

3.logo部分

 分析:

①左边的logo

②搜索框

搜索栏和按钮之间会有缝隙,按钮较小时会被挤下来,让他们都浮动即可解决

③购物车

④关键词

⑤下边的小导航

⑥右下角小广告

知识点:

<!-- 头部中间部分开始 -->
<div class="w middle">
<div class="logo">
<h1> <!-- 提高权重 便利于搜索引擎优化 -->
<a href="#"></a>
</h1>
</div>
<!-- 搜索 -->
<div class="form">
<input type="text" placeholder="笔记本电脑">
<!-- 按钮的意思 双标签 等价于 <input type="button" value=""> -->
<button> <i></i> </button>
</div>
<!-- 购物车 -->
<div class="shopCar">
<i></i><a href="#" class="f10">我的购物车</a> <span>0</span>
</div>
<!-- 关键词 -->
<div class="hotwords">
<a href="#" class="f10">199减100</a>
<a href="#">鼠标试用</a>
<a href="#">农资7折</a>
<a href="#">低至29元</a>
<a href="#">抽奖赢空调</a>
<a href="#">记忆棉</a>
<a href="#">坐垫</a>
<a href="#">1分钱买油</a>
<a href="#">智能手表</a>
</div>
<!-- 小导航部分 -->
<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 class="space"></li>
<li><a href="#">服装城</a></li>
<li><a href="#">京东超市</a></li>
<li><a href="#">生鲜</a></li>
<li><a href="#">全球购</a></li>
<li class="space"></li>
<li><a href="#">京东金融</a></li>
</ul> </div>
<!-- 超级日部分 -->
<div class="super">
<a href="#"><img src="data:images/super.png" height="40" width="190" alt=""></a>
</div>
</div><!-- 头部中间部分结束 -->

  css:

/*头部中间部分开始*/
.middle {
height: 140px;
position: relative;
}
.logo {
position: absolute;
top: -30px;
left: 0;
box-shadow: 0px -10px 10px rgba(0,0,0,.3);
}
.logo a {
display: block;
width: 190px;
height: 170px;
background: #fff url(../images/logo.png) no-repeat;
}
/* 搜索框 */
.form {
width: 550px;
height: 35px;
position: absolute;
top: 25px;
left: 320px;
}
.form input {
width: 495px;
height: 33px;
border: 1px solid #f10215;
float: left;
font-size: 14px;
padding-left:3px;
}
.form button {
width: 50px;
height: 35px;
background-color: #f10215;
float: left;
}
.form button i {
font-family: 'icomoon';
font-style: normal;
color: #fff;
}
/* 购物车 */
.shopCar {
width: 188px;
height: 33px;
line-height: 33px;
border: 1px solid #ccc;
position: absolute;
top: 25px;
right: 95px;
background-color: #fff;
text-align: center;
color: #f10215; }
.shopCar i {
font-family: 'icomoon';
margin-right: 5px;
font-style: normal;
}
.shopCar span {
width: 15px;
height: 15px;
background-color: #f10215;
border-radius: 50%;
position: absolute; /* 加了绝对定位 固定定位 浮动的行内元素, 可以不用转换,直接给宽度和高度 */
top: 5px;
right: 30px;
font-size: 12px;
color: #fff;
line-height: 15px;
}
/* 关键词模块 */
.hotwords {
position: absolute;
top: 68px;
left: 320px;
}
/* 小导航模块 */
.navitems {
width: 770px;
height: 40px;
position: absolute;
bottom: 0;
left: 200px;
line-height: 40px;
}
.navitems li {
float: left;
margin-left: 30px;
}
.navitems li a {
font-size: 16px;
font-weight: 700;
color: #555;
}
.navitems li a:hover {
color: #f10215;
}
.navitems .space {
/* margin-top: 15px;
margin-left:15px;
margin-right: -15px; */
margin:15px -15px 0 15px;
}
/* 超级日 */
.super {
position: absolute;
bottom: 10px;
right: 0;
}
/*头部中间部分结束*/

底部

 分析:footer标签,里面两个div

①多快好省部分

品类齐全···文字部分直接给margin-left,‘多’(使用雪碧图)定位到文字左边,不占空间

text-indent  设置负值,可以隐藏文字,一般是-999px。

li浮动后,脱离文档流,高度坍塌,给父元素清除浮动即可

②购物指南部分

两个部分,‘购物指南’那五栏整体左浮动,右边‘京东自营覆盖区县’部分右浮动

sublime快捷键:快速到达某行,ctrl + g,输入行数,回车

‘购物指南部分’用dd、dl标签实现

box-sizing:border-box;(稍后补充相关知识点)

中间部分

准备工作:

头部和底部属于公共样式,在css文件夹中再新建一个index.css,写中间部分css样式

模块划分:

首先一个大盒子,给一个高度480px

大盒子中有左中右三个盒子

①左侧分类部分

使用ul、li实现

撑开文字整体与盒子间上下左右的间距:

给ul设置上下padding

给li设置左右padding

撑开每行文字间的间距:

给li里的a设置margin

撑开行与行文字间的间距:

给li指定line-height

鼠标放置变色:

li:hover

a:hover

②中间banner部分

上边一个大盒子,大盒子下面并排两个小盒子,‘品’型。

箭头垂直居中:

transform : translateY(-50%)

bug:左边的箭头跑出去了,稍后解决

图片上翻页的小圆点:

用ul,li + 浮动实现

③右侧盒子模块

模块划分:

3个盒子组成,分别是登录、促销公告和服务模块。

登录模块:

上边登录注册部分+下部分(两个按钮)

上部分:宽度就是文字部分宽度,给图片绝对定位

促销公告模块:

样式没生效可能是权重不够的问题。

促销下的红线用一个单独的div底边框+定位实现

下半部分用ul+li实现

服务模块:

用ul和li实现,每个li有个边框。

给li设置浮动解决框框排成一竖排的问题

每个li盒子的宽度给多了,会挤到下一行,解决办法:给ul的宽度调大一些,

使用overflow:hidden将右侧和下侧多余部分隐藏

④分类左侧的弹出广告部分

鼠标放到广告条上,显示一张大的广告图片

广告条在左侧分类大盒子里,再定位到左边

动画效果:过渡(一开始大图片宽度设置为0,鼠标放上去大图片宽度恢复)

完整代码地址:https://github.com/superjishere/jdtest

HTML+CSS项目——模拟京东网页的更多相关文章

  1. 引用CSS文件到html网页里方法

        引用CSS文件到Html方法-css引入,css引用 使用不同的方法来引用css样式表,最终到达的效果相同,但是使用不同方法应用的css文件将影响到SEO及网页打开速度效率. html引用cs ...

  2. python使用requests库爬取网页的小实例:爬取京东网页

    爬取京东网页的全代码: #爬取京东页面的全代码 import requests url="https://item.jd.com/2967929.html" try: r=requ ...

  3. 纯CSS + 媒体查询实现网页导航特效

    纯css+媒体查询实现网页导航特效 附上效果图: 代码如下,复制即可使用: <!DOCTYPE html> <html lang="en"> <hea ...

  4. python+selenium模拟京东登录后台

    python+selenium模拟京东登录后台 import json from time import sleep from selenium import webdriver #from sele ...

  5. html/京东项目/京东网页高仿/js/jq/css/java web/

    登录部分HTML+CSS: <!DOCTYPE html><html>    <head>        <meta charset="UTF-8& ...

  6. 洗礼灵魂,修炼python(82)--全栈项目实战篇(10)—— 信用卡+商城项目(模拟京东淘宝)

    本次项目相当于对python基础做总结,常用语法,数组类型,函数,文本操作等等 本项目在博客园里其他开发者也做过,我是稍作修改来的,大体没变的 项目需求: 信用卡+商城: A.信用卡(类似白条/花呗) ...

  7. css, js 项目练习之网页换肤

    首先,该练习参考自:https://www.jianshu.com/p/2961d9c317a3 我就直接上代码了(颜色可以自己调). HTML: <nav> <li>< ...

  8. CSS.06 -- 尚合网页模拟

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. 2020年12月-第01阶段-前端基础-HTML CSS 项目阶段(一)

    品优购项目(一) 目标: 能会引入ico图标 能简单看懂网站优化的三大标签 能使用字体图标 ( 重点 ) 能说出我们css属性书写顺序 1. 品优购项目介绍 项目名称:品优购 项目描述:品优购是一个电 ...

随机推荐

  1. Centos6安装破解Confluence6.3.1

    confluence是一个专业的企业知识管理与协同软件,可以用于构建企业wiki.通过它可以实现团队成员之间的协作和知识共享 安装和破解包百度网盘地址: 链接:https://pan.baidu.co ...

  2. react 的生命周期函数

    生命周期函数: 是指在某一时刻组件自动执行 的函数 初始化: 设置props和state mounting: componentWillMount 在组件即将被挂载到页面的时候自动执行 render ...

  3. 64. 输出字节流(FileOutputStream)

    IO分类:    按照数据流向分类:        输入流                输出流        按照处理的单位划分:        字节流:字节流读取的都是文件中的二进制数据,读取到的 ...

  4. 6374. 【NOIP2019模拟2019.10.04】结界[生与死的境界]

    题目 题目大意 给你一个数列,每次可以选择任意两个相邻的数\(x\)和\(y\),将其删去,并在原来位置插入\(x+2y\). 每次询问一个区间,对这个区间进行上述操作.求最后剩下的数最大是多少. 答 ...

  5. 源码方式安装 lrzsz库

    源码方式安装 lrzsz库:https://www.cnblogs.com/cocoajin/p/11731787.html 我们都知道安装了lrzsz工具的linux系统环境,在shell里可以非常 ...

  6. 【记录】spring boot 图片上传与显示

    问题:spring boot 使用的是内嵌的tomcat, 文件上传指定目录时不知道文件上传到哪个地方,不知道访问路径. //部署到服务器的tomcat上时通常使用这种方式request.getSer ...

  7. thinkphp REST

    REST介绍 REST(Representational State Transfer表述性状态转移)是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性.REST提出了一些设 ...

  8. Python每日一题 001

    Github地址:https://github.com/Yixiaohan/show-me-the-code Talk is Cheap, show me the code. --Linus Torv ...

  9. delphi基础篇之数据类型之一:1.简单类型(Simple)

    1.简单类型(Simple) 简单类型包括实数类型(Real)和有序类型(Ordinal).有序类型又包括整数类型.字符类型.布尔类型.枚举类型和子界类型等. 1-1.有序类型 有序类型是一个有序数的 ...

  10. HDU 6628 permutation 1 (暴力)

    2019 杭电多校 5 1005 题目链接:HDU 6628 比赛链接:2019 Multi-University Training Contest 5 Problem Description A s ...