跟着pink老师前端入门教程-day13

品优购案例

一、品优购项目规划

1. 品优购项目整体介绍

项目名称品优购

项目描述:品优购是一个电商网站,我们要完成 PC 端首页、列表页、注册页面的制作

2. 品优购项目学习目的

1. 电商类网站比较综合,里面需要大量的布局技术,包括布局方式、常见效果以及周边技术。

2. 品优购项目能复习、总结、提高基础班所学布局技术。

3. 写完品优购项目,能对实际开发中制作 PC 端页面流程有一个整体的感知。

4. 为后期学习移动端项目做铺垫。

3. 开发工具以及技术栈

3.1 开发工具 :切图用ps, 代码用Vscode,测试用chrome

3.2 技术栈

利用 HTML5 + CSS3 手动布局,可以大量使用 H5 新增标签和样式

采取结构与样式相分离,模块化开发

良好的代码规范有利于团队更好的开发协作,提高代码质量,因此品优购项目里面,请同学们遵循以下代 码规范。(详情见素材文件夹--- 品优购代码规范.md

4 品优购项目搭建工作

4.1 需要创建如下文件夹:

4.2 需要创建如下文件:

有些网站初始化的不太提倡 * { margin: 0; padding: 0; }

比如新浪:

html,body,ul,li,ol,dl,dd,dt,p,h1,h2,h3,h4,h5,h6,form,fieldset,legend,img{margin:0;padding:0}

base.css

/* 把所有标签的内外边距清零 */
* {
    margin: 0;
    padding: 0;
}

/* em 和 i 斜体的文字不倾斜 */
em,
i {
    font-style: normal;
}

/* 去掉li的小圆点 */
li {
    list-style: none;
}

img {
    /* border: 0; 照顾低版本浏览器 如果 图片外面包含了链接会有边框的问题 */
    border: 0;
    /* 取消图片底侧有空白缝隙的问题 */
    vertical-align: middle;
}

button {
    /* 当鼠标经过button 按钮时,鼠标变成小手 */
    cursor: pointer;
}

a {
    color: #666;
    text-decoration: none;
}

a:hover {
    color: #c81623
}

button,
input {
    /* "\5B8B\4F53" 宋体 浏览器兼容性比较好 */
    font-family: Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif
}

body {
    /* CSS3 抗锯齿形 让文字显示的更加清晰 */
    -webkit-font-smoothing: antialiased;
    background-color: #fff;
    /* 字号12px 行号1.5倍 */
    font: 12px/1.5 Microsoft YaHei, Heiti SC, tahoma, arial, Hiragino Sans GB, "\5B8B\4F53", sans-serif;
    color: #666
}

.hide,
.none {
    display: none
}

/* 清除浮动 */
.clearfix:after {
    visibility: hidden;
    clear: both;
    display: block;
    content: ".";
    height: 0
}

.clearfix {
    zoom: 1
}

 4.3 模块化开发

有些样式和结构在很多页面都会出现,比如页面头部和底部,大部分页面都有。此时,可以把这些结构 和样式单独作为一个模块,然后重复使用

这里最典型的应用就是 common.css 公共样式。写好一个样式,其余的页面用到这些相同的样式

模块化开发具有重复使用、修改方便等优点

common.css 公共样式里面包含版心宽度清除浮动页面文字颜色等公共样式。

5、网站favicon图标

favicon.ico 一般用于作为缩略的网站标志,它显示在浏览器的地址栏或者标签上。

目前主要的浏览器都支持 favicon.ico 图标。

5.1 制作favicon图标

        把品优购图标切成png图片

        把png图片转换为ico图标,这需要借助于第三方转换网站,例如比特虫:http://www.bitbug.net/

5.2 favicon图标放到网站根目录下

5.3  HTML页面引入favicon图标

        在html页面里面的<head> </head>元素之间引入代码。

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

7、网站TDK三大标签SEO优化

SEO(Search Engine Optimization)汉译为搜索引擎优化,是一种利用搜索引擎的规则提高网站在有关搜索引擎内自然排名的方式。

SEO 的目的是对网站进行深度的优化,从而帮助网站获取免费的流量,进而在搜索引擎上提升网站的排名,提高网站的知名度。

页面必须有三个标签用来符合 SEO 优化,有专门的 SEO 人员准备。

7.1 title网站标题

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

建议:网站名(产品名)- 网站的介绍 (尽量不要超过30个汉字)

例如:

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

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

7.2 description 网站说明

简要说明我们网站主要是做什么的。

我们提倡,description 作为网站的总体业务和主题概括,多采用“我们是…”、“我们提供…”、“×××网作为…”、“电话:010…”之类语句。

例如:

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

3. keywords 关键字

keywords 是页面关键词,是搜索引擎的关注点之一。

keywords 最好限制为 6~8 个关键词,关键词之间用英文逗号隔开,采用 关键词1,关键词2 的形式。

例如:

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

二、品优购首页制作

网站的首页一般都是使用 index 命名,比如 index.html 或者 index.php 。

开始制作首页的头部和底部的时候,根据模块化开发,样式要写到common.css里面

2.1 常用模块类名命名

2.2 快捷导航shortcut制作

HTML

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>品优购商城-综合网购首选、正品低价、品质保障、配送及时、轻松购物</title>
    <!-- 网站说明 -->
    <meta name="description" content="选优购商品-专业的综合网上购物商城,销售家电、数码通讯、电脑、
家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品.便捷、诚信的服务,为您提供愉悦的网上购物
体验!">
    <!-- 页面关键词,是搜索引擎的关注点之一。 -->
    <meta name=" keywords" content="网上购物,网上商城,手机,笔记本,电脑,MP3,CD,VCD,DV,相机,数码,配
    件,手表,存储卡,京东" />
    <!-- 网站 favicon 图标  根目录下直接文件名 -->
    <link rel="shortcut icon" href="favicon.ico" />
    <!-- 引入初始化标签 -->
    <link rel="stylesheet" href="./css/base.CSS">
    <!-- 引入公共标签 -->
    <link rel="stylesheet" href="./css/common.css">
</head>

<body>
    <!-- 快捷导航 shortcut 制作 -->
    <section class="shortcut">
        <!-- 版心 -->
        <div class="w">
            <div class="left">
                <ul>
                    <li>品优购欢迎您!&nbsp;</li>
                    <li><a href="#">请登录&nbsp;</a><a class="style_red">免费注册</a></li>
                </ul>
            </div>
            <div class="right">
                <ul>
                    <li>我的订单</li>
                    <li></li>
                    <li class="arrow-icon">我的品优购</li>
                    <li></li>
                    <li>品优购会员</li>
                    <li></li>
                    <li>企业采购</li>
                    <li></li>
                    <li class="arrow-icon">关注品优购</li>
                    <li></li>
                    <li class="arrow-icon">客户服务</li>
                    <li></li>
                    <li class="arrow-icon">网站导航</li>
                </ul>
            </div>
        </div>
    </section>
</body>

</html>

CSS

/* 声明字体图标 */
@font-face {
    font-family: 'icomoon';
    src: url('../fonts/icomoon.eot?tomleg');
    src: url('../fonts/icomoon.eot?tomleg#iefix') format('embedded-opentype'),
        url('../fonts/icomoon.ttf?tomleg') format('truetype'),
        url('../fonts/icomoon.woff?tomleg') format('woff'),
        url('../fonts/icomoon.svg?tomleg#icomoon') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

/* 快捷导航 shortcut 制作 */
.w {
    width: 1200px;
    margin: 0 auto;
}

.shortcut {
    height: 31px;
    background-color: #f1f1f1;
}

.left {
    float: left;
}

.style_red {
    color: #c81623;
}

.right {
    float: right;
}

.shortcut ul li {
    float: left;
    line-height: 31px;

}

.shortcut .right ul li:nth-child(even) {
    width: 1px;
    height: 12px;
    background-color: #666;
    margin: 9px 15px 0px;
}

.arrow-icon::after {
    margin-left: 6px;
    font-family: 'icomoon';
    content: '\e91e';
}

2.3 header制作

LOGO SEO优化

1. logo 里面首先放一个 h1 标签,目的是为了提权,告诉搜索引擎,这个地方很重要。

2. h1 里面再放一个链接,可以返回首页的,把 logo 的背景图片给链接即可。

3. 为了搜索引擎收录我们,我们链接里面要放文字(网站名称),但是文字不要显示出来。

方法1:text-indent 移到盒子外面(text-indent: -9999px) ,然后 overflow:hidden ,淘宝的做法

方法2:直接给 font-size: 0; 就看不到文字了,京东的做法。

4. 最后给链接一个 title 属性,这样鼠标放到 logo 上就可以看到提示文字了。

HTML

    <!-- header 制作 -->
    <header class="header w">
        <!-- logo 标志定位 -->
        <div class="logo">
            <h1><a href="#">品优购商城</a></h1>
        </div>
        <!-- search 搜索模块定位 -->
        <div class="search">
            <input type="search" name="" id="" placeholder="语言开发">
            <button>搜索</button>
        </div>
        <!-- hotwords 热词模块定位 -->
        <div class="hotwords">
            <a href="#" class="style_red">优惠购首发</a>
            <a href="#">亿元优惠</a>
            <a href="#">9.9元团购</a>
            <a href="#">美满99减30</a>
            <a href="#">办公用品</a>
            <a href="#">电脑</a>
            <a href="#">通信</a>
        </div>
        <!-- shopcar 购物车模块 -->
        <div class="shopcar">
            我的购物车
            <i class="count">8</i>
        </div>
    </header>

CSS

/* header 制作 */
.header {
    position: relative;
    height: 105px;
}

.header .logo {
    position: absolute;
    top: 25px;
    height: 56px;
    width: 171px;
    background-image: url(../images/logo.png);
}

.logo a {
    font-size: 0px;
    display: block;
    width: 171px;
    height: 56px;
    background-image: url(../images/logo.png);
}

.search {
    position: absolute;
    left: 346px;
    top: 25px;
    width: 538px;
    height: 36px;
    border: 2px solid #b1191a;
}

.search input {
    float: left;
    /* position: relative; */
    height: 32px;
    width: 454px;
    padding-left: 10px;
}

.search button {
    float: left;
    width: 84px;
    height: 36px;
    background-color: #b1191a;
    font-size: 16px;
    color: #fff;
}

.hotwords {
    position: absolute;
    left: 346px;
    top: 70px;
}

.hotwords a {
    margin: 0 10px;
}

.shopcar {
    position: absolute;
    width: 140px;
    height: 31px;
    border: 1px solid #dfdfdf;
    background-color: #f7f7f7;
    right: 100px;
    top: 25px;
    line-height: 31px;
    color: #b1191a;
    text-align: center;
}

.shopcar::before {
    content: '\e93a';
    font-family: 'icomoon';
    margin-right: 5px;
}

.shopcar::after {
    font-family: 'icomoon';
    content: '\e920';
    margin-left: 10px;
}

.count {
    position: absolute;
    top: -5px;
    left: 105px;
    height: 14px;
    line-height: 14px;
    color: #fff;
    background-color: #e60012;
    padding: 0 5px;
    border-radius: 7px 7px 7px 0;
}

 2.4 nav导航制作

nav 盒子通栏有高度,而且有个下边框

1 号盒子左侧浮动,dropdown

2 号盒子左侧浮动,navitems 导航栏组 

1号盒子有讲究,根据相关性 里面包含 .dt 和 .dd 两个盒子

HTML

 <!-- nav 导航制作 -->
    <div class="nav">
        <div class="w">
            <!-- dropdown 下拉 -->
            <div class="dropdown">
                <div class="dt">全部商品分类</div>
                <div class="dd">
                    <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><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><a href="#">食品、酒类、生鲜、特产</a></li>
                        <li><a href="#">医药保健</a></li>
                    </ul>
                </div>
            </div>
            <!-- navitems 导航栏组 -->
            <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><a href="#">团购</a></li>
                    <li><a href="#">拍卖</a></li>
                </ul>
            </div>
        </div>
    </div>

 CSS

/* nav 导航制作 */
/* dropdown 下拉 */
.nav {
    height: 47px;
    border-bottom: 2px solid #b1191a;
}

.nav .dropdown {
    float: left;
    width: 210px;
    height: 45px;
    background-color: #b1191a;
}

.nav .navitems {
    float: left;
}

.dropdown .dt {
    width: 100%;
    height: 100%;
    color: #fff;
    text-align: center;
    line-height: 45px;
    font-size: 16px;
}

.dropdown .dd {
    width: 210px;
    height: 465px;
    background-color: #c81623;
    margin-top: 2px;
}

.dropdown .dd ul li {
    position: relative;
    margin-left: 2px;
    height: 31px;
    line-height: 31px;
    padding-left: 10px;
}

.dropdown .dd ul li:hover {
    background-color: #fff;
}

.dropdown .dd ul li a {
    font-size: 14px;
    color: #fff;
}


.dropdown .dd ul li:hover a {
    color: #c81623;
}

.dropdown .dd ul li::after {
    font-family: 'icomoon';
    content: '\e920';
    color: #fff;
    position: absolute;
    top: 5px;
    right: 5px;
}

/* navitems 导航栏组 */
.navitems ul li {
    float: left;
}

.navitems ul li a {
    display: block;
    height: 45px;
    line-height: 45px;
    font-size: 16px;
    padding: 0 25px;
}

效果图

2.5 footer 底部制作

HTML

 <!-- footer 底部制作 -->
    <footer class="footer">
        <div class="w">
            <!-- 服务模块 -->
            <div class="mod_service">
                <ul>
                    <li>
                        <h5></h5>
                        <div class="service_txt">
                            <h4>
                                正品保障
                            </h4>
                            <p>正品保障,提供发票达</p>
                        </div>
                    </li>
                    <li>
                        <h5></h5>
                        <div class="service_txt">
                            <h4>
                                极速物流
                            </h4>
                            <p>急速物流,急速送达</p>
                        </div>
                    </li>
                    <li>
                        <h5></h5>
                        <div class="service_txt">
                            <h4>
                                无忧售后
                            </h4>
                            <p>7天无理由退换货</p>
                        </div>
                    </li>
                    <li>
                        <h5></h5>
                        <div class="service_txt">
                            <h4>
                                特色服务
                            </h4>
                            <p>私人定制家电套餐</p>
                        </div>
                    </li>
                    <li>
                        <h5></h5>
                        <div class="service_txt">
                            <h4>
                                帮助指南
                            </h4>
                            <p>您的购物指南</p>
                        </div>
                    </li>
                </ul>
            </div>
            <!-- 帮助模块 -->
            <div class="mode_help">
                <dl>
                    <dt>购物流程</dt>
                    <dd><a href="#">会员介绍</a></dd>
                    <dd><a href="#">生活旅行/团购</a></dd>
                    <dd><a href="#">常见问题</a></dd>
                    <dd><a href="#">大家电</a></dd>
                    <dd><a href="#">联系客服</a></dd>
                </dl>
                <dl>
                    <dt>购物流程</dt>
                    <dd><a href="#">会员介绍</a></dd>
                    <dd><a href="#">生活旅行/团购</a></dd>
                    <dd><a href="#">常见问题</a></dd>
                    <dd><a href="#">大家电</a></dd>
                    <dd><a href="#">联系客服</a></dd>
                </dl>
                <dl>
                    <dt>购物流程</dt>
                    <dd><a href="#">会员介绍</a></dd>
                    <dd><a href="#">生活旅行/团购</a></dd>
                    <dd><a href="#">常见问题</a></dd>
                    <dd><a href="#">大家电</a></dd>
                    <dd><a href="#">联系客服</a></dd>
                </dl>
                <dl>
                    <dt>购物流程</dt>
                    <dd><a href="#">会员介绍</a></dd>
                    <dd><a href="#">生活旅行/团购</a></dd>
                    <dd><a href="#">常见问题</a></dd>
                    <dd><a href="#">大家电</a></dd>
                    <dd><a href="#">联系客服</a></dd>
                </dl>
                <dl>
                    <dt>购物流程</dt>
                    <dd><a href="#">会员介绍</a></dd>
                    <dd><a href="#">生活旅行/团购</a></dd>
                    <dd><a href="#">常见问题</a></dd>
                    <dd><a href="#">大家电</a></dd>
                    <dd><a href="#">联系客服</a></dd>
                </dl>
                <dl>
                    <dt>帮助中心</dt>
                    <dd>
                        <img src="./images/wx_cz.jpg" alt="">
                        品优购客户端
                    </dd>
                </dl>

            </div>
            <!-- 版权模块 -->
            <div class="mod_copyright">
                <div class="links">
                    <a href="#">关于我们</a> |
                    <a href="#">联系我们</a> |
                    <a href="#">联系客服</a> |
                    <a href="#">商家入驻</a> |
                    <a href="#">营销中心</a> |
                    <a href="#">手机品优购</a> |
                    <a href="#">友情链接</a> |
                    <a href="#">销售联盟</a> |
                    <a href="#">品优购社区</a> |
                    <a href="#">品优购公益</a> |
                    <a href="#">English Site</a> |
                    <a href="#">Contact U</a>
                </div>
                <div class="copyright">
                    地址:北京市昌平区建材城西路金燕龙办公楼一层 邮编:100096 电话:400-618-4000 传真:010-82935100 邮箱: zhanghj+itcast.cn
                    <br>
                    京ICP备08001421号京公网安备110108007702
                </div>
            </div>
        </div>
    </footer>

CSS


/* footer 底部结束 */
.footer {
    width: 1920px;
    height: 417px;
    background-color: #f5f5f5;
    padding-top: 30px;
}

.footer .mod_service {
    height: 80px;
    width: 1200px;
    border-bottom: 1px solid #ccc;
}

.mod_service ul li {
    float: left;
    width: 230px;
    height: 50px;
}

.mod_service ul li h5 {
    width: 50px;
    height: 52px;
    float: left;
    background: url(../images/icons.png) no-repeat -253px 0;
}

.mod_service ul li div {
    float: left;
}

.service_txt {
    margin-right: 8px;
}

.service_txt h4 {
    font-size: 14px;
}

.service_txt p {
    font-size: 12px;
}

.mode_help {
    height: 185px;
    border-bottom: 1px solid #ccc;
    padding-top: 20px;
    padding-left: 50px;
}

.mode_help dl {
    float: left;
    width: 200px;
}

.mode_help dl:last-child {
    width: 90px;
    text-align: center;
}

.mode_help dl dt {
    font-size: 16px;
    margin-bottom: 10px;
}

/* < !-- 版权模块 --> */
.mod_copyright {
    text-align: center;
    margin-top: 20px;
}

.links {
    margin-bottom: 15px;
}

.links a {
    margin: 0 3px;
}

.copyright {
    line-height: 20px;
}

  • 32
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1.2. 结构化一下 1.3. 图形化一下 1.3.1. 运营商后台 1.3.2. 商家后台 1.3.3. 网页前台 参考京东 2. 技术选型 前端:angularJS + Bootstrap 后台:SSM( springmvc+spring+mybatis) 数据库:mysql,使用mycat读写分离 开发模式:SOA 服务中间件:dubbox,需要和zookeeper配合使用 注册中心:zookeeper 消息中间件:Activemq,使用spring-jms 负载均衡:nginx 搜索:solr集群(solrCloud),配合zookeeper搭建, 使用spring-data-solor 缓存:redis集群,使用spring-data-redis 图片存储:fastDFS集群 网页静态化:freemarker 单点登录:cas 权限管理:SpringSecurity, 跨域:cros 支付:微信扫描 短信验证:阿里大于 密码加密:BCrypt 富文本:KindEditor 事务:声明式事务 任务调度:spring task 所有的技术,都可能涉及到为什么用?怎么用?用的过程中有什么问题? 3. 框架搭建 3.1. 前端 理解baseControler.js、base.js、base_pagination.js,以及每一个xxxController.js里面都公共的做了些什么。 baseControler.js 分页配置 列表刷新 处理checkBox勾选 xxxControler.js 自动生成增删改查 base_pagination.js 带分页 base.js 不带分页 3.2. dao 使用了mybatis逆向工程 4. 模块开发 逐个模块开发就好 4.1. 学会评估模块难不难 一个模块难不难从几方面考虑。 涉及几张表? 1,2张表的操作还是没有什么难度的。 涉及哪些功能? 增删改查,批量删除。 前端展示? 分页列表、树形、面包屑、三级联动、内容格式化。 4.2. 举几个简单模块的例子 4.2.1. 品牌管理 单表 分页、新增、删除、修改 4.2.2. 规格管理 2张表 分页、新增、删除、修改、显示优化(显示列表内容的一部分) 4.2.3. 模板管理 2张表 分页、新增、删除、修改、显示优化(显示列表内容的一部分) 4.2.4. 分类管理 单表 4.2.5. 商家审核 单表 4.3. 举一个复杂模块 4.3.1. 商品新增 需要插入3张表,tb_goods、tb_goods_desc、tb_item 前端:三级联动、富文本、图片上传、动态生成内容 4.3.2. 商品修改 需要从3张表获取数据,然后进行回显。 4.4. 典型模块设计 4.4.1. 管理后台 商品新增、商品修改 4.4.2. 前台页面 搜索模块实现 购物车模块实现 支付模块实现 秒杀模块实现 5. 开发过程中问题&优化 1.1. 登录 单点登录怎么实现 session怎么共享 1.2. 缓存 哪些场景需要用到redis redis存储格式的选择 怎么提高redis缓存利用率 缓存如何同步 1.3. 图片上传 图片怎么存储 图片怎么上传 1.4. 搜索 ​ 怎么实现 数据量大、 并发量高的搜索 怎么分词 1.5. 消息通知 ​ 哪些情况用到activeMq 1.6. 优化 seo怎么优化 怎么加快访问速度 1.7. 秒杀 ​ 怎么处理高并发 ​ 秒杀过程中怎么控制库存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值