【HTML CSS】笔记6日 PC端品优购项目

效果图和代码

素材上传到csdn资源了,在主页可以找到。不需要积分和C币就能下载。

零碎技巧
  • 给父元素定义text-align: center; 可以让块级元素、行内元素、行内块元素水平居中。
  • 伪元素属于行内元素。虽然加大小之前需要转换成行内块元素,但是加了浮动或者定位,就不需要转换了。
  • 一般情况下,a如果包含有宽度的盒子,a需要转换为块级元素。
  • 防止盒子内的图片或者内容超出盒子大小,可以给盒子添加overflow:hidden;。
  • 为了防止鼠标经过加边框后,盒子里面的内容出现抖动,可以事先就给盒子添加一个透明色的边框。
  • vertical-align: center;的作用。
  • logoSEO优化。
  • 实际开发中,父盒子即使没有外边距,子盒子的外边距似乎也会坍塌。
  • javascript:;是表示在触发<a>默认动作时,执行一段JavaScript代码,而javascript:;表示什么都不执行,这样点击<a>时就没有任何反应。

一、品优购项目规划

在这里插入图片描述

  • 品优购项目整体介绍(制作首页、列表页、注册页三个页面)。
  • 品优购项目学习目的(里面包含技术较多,能极大锻炼我们布局技术)。
  • 开发工具以及技术栈(切图用PS、代码用VScode、测试用Chrome、大量使用HTML5+CSS3)。

1.1 品优购整体项目介绍

  • 项目名称:品优购
  • 项目描述:品优购是一个电商网站,我们要完成pc端首页,列表页,注册页的制作。

1.2 品优购项目的学习目的

  • 电商类网站比较综合,里面需要大量的布局技术,包括布局方式,常见效果以及周边技术。
  • 品优购项目能复习,总结,提高前面所学的基础。
  • 写完品优购项目,能对实际开发中制作pc端页面流程有个整体的感知。
  • 为后期做移动端项目做铺垫。

1.3 开发工具以及技术栈

1.3.1 开发工具

VScode、Photoshop(fw)、主流浏览器(以Chrome浏览器为主)

1.3.2 技术栈
  • 利用html5+css3手动布局,可以大量使用h5新增标签和样式。
  • 采取结构和样式相分离,模块化开发。
  • 良好的代码规范有利于团队更好的开发协作,提高代码质量。(详情请见素材文件 — 品优购代码规范.md

1.4 品优购项目搭建工作

1.4.1 需要创建如下文件夹
名称说明
项目文件夹shopping
样式类图片文件夹images
样式文件夹css
产品类图片文件夹upload
字体类文件夹fonts
脚本文件夹js
1.4.2 需要创建如下文件
名称说明
首页index.html
CSS 初始化样式文件base.css
CSS公共样式文件common.css

有些网站不太提倡

  * {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;}
  • 在 把我们所有标签的内外边距清零 那部分CSS样式中添加CSS3盒子模型。
/* 把我们所有标签的内外边距清零 */
* {
    margin: 0;
    padding: 0;
    /* CSS3盒子模型 */
    box-sizing: border-box;
  }

-在index.html 文件中引入base.css文件。

    <!-- 引入初始化样式文件 -->
    <link rel="stylesheet" href="css/base.css" />
1.4.3 模块开发

所谓的模块开发:将一个项目按照功能划分,一个功能一个模块,互不影响。模块化开发具有重复使用、更换方便的优点。

  • 代码也是如此,有些样式和结构在很多页面都会出现,比如页面头部和底部,大部分页面都有。此时,可以把这些结构和样式单独作为一个模块,然后重复使用。
  • 这里典型的应用就是common.css公共样式。写好一个样式,其余的页面用到这些相同的样式。
  • 模块化开发具有重复使用、修改方便等优点。
公共样式common.css
首页
列表页
详情页等
  • common.css公共样式里面包含版心宽度、清除浮动、页面文字颜色等公共样式。
  • 接下来在common.css文件中添加版心宽度样式,并且在index.html文件中引入common.css样式文件。
/* 版心 */
.w {
    width: 1200px;
    margin: 0 auto; 
}
    <!-- 引入公共样式 -->
    <link rel="stylesheet" href="css/common.css" />

1.5 网站favicon图标

网站favicon图标制作

1.6 网站TDK三大标签SEO优化

网站TDK三大标签SEO优化

经过上述步骤后,index.html文件的head部分包含如下内容:
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>品优购商城-正品低价、品质保障、配送及时、轻松购物!</title>
    <!-- 网站说明 -->
    <meta
      name="description"
      content="京东JD.COM-专业的综合网上购物商城,销售家电、 数码通讯、
    电脑、家居百货、服装服饰、母婴、图书、食品等数万个品牌优质商品. 便捷、诚信的服务,为您提供愉悦的网上购物体验!"
    />
    <!-- 关键字 -->
    <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>

二、品优购首页制作

  • 网站的首页一般都是使用index命名,比如index.html 或者 index.php。
  • 我们开始制作首页头部和底部的时候,根据模块化开发,样式要写到common.css里面。

2.1 常用模块类名命名

名称说明
快捷导航栏shortcut
头部header
标志logo
购物车shopcar
搜索search
热点词hotwords
导航nav
导航左侧dropdown 包含.dd .dt
导航右侧navitems
页面底部footer
页面底部服务模块mod_service
页面底部帮助模块mod_help
页面底部版权模块mod_copyright

2.2 快捷导航shortcut制作

在这里插入图片描述

  • 上图中的每个 li 里面的字数不一样,所以不给 li 指定宽度,使用padding 或者 margin把它们挤开即可。pink老师的具体做法见代码。

2.3 header制作

在这里插入图片描述

  • header盒子必须要有高度。
/* header 头部制作 */
.header {
    position: relative;
    height: 105px;
    background-color: pink;
}
        <!-- logo 模块 -->
        <div class="logo">
            <h1>
                <a href="index.html" title="品优购商城">品优购商城</a>
            </h1>
        </div>
.logo {
    position: absolute;
    top: 25px;
    width: 171px;
    height: 61px;
}
.logo a {
    display: block;
    width: 171px;
    height: 61px;
    background: url("../images/logo.png") no-repeat;
    font-size: 0;
}
  • 2号盒子是search搜索模块定位。
    在这里插入图片描述
.search {
    position: absolute;
    left: 346px;
    top: 25px;
    width: 538px;
    height: 36px;
    border: 2px solid #b1191a
}
.search input {
    /* 此处加浮动是因为input和button都是行内元素,默认会有个小空隙 */
    /* 因此添加浮动去掉小空隙 */
    float: left;
    /* 次数input虽然既有宽度也有padding, */
    /* 但是我们用的是CSS3盒子模型(base.css中有声明) */
    /* 不需要担心padding会撑大盒子 */
    width: 454px;
    height: 32px;
    padding-left: 10px;
}
.search button {
    /* 此处加浮动是因为input和button都是行内元素,默认会有个小空隙 */
    /* 因此添加浮动去掉小空隙 */
    float: left;
    width: 80px;
    height: 32px;
    background-color: #b1191a;
    font-size: 16px;
    color: #ffffff;
}
  • 3号盒子是hotwords 热词模块定位。
.hotwords {
    position: absolute;
    top: 66px;
    left: 346px;
}
.hotwords a {
    margin: 0 10px;
}
  • 4号盒子是shopcar购物车模块。
.shopcar {
    position: absolute;
    right: 60px;
    top: 25px;
    width: 140px;
    height: 35px;
    line-height: 35px;
    text-align: center;
    border: 1px solid #dfdfdf;
    background-color: #f7f7f7;
}
.shopcar::before {
    content: "\e93a";
    font-family: "icomoon";
    margin-right: 5px;
    color: #b1191a;
}
.shopcar::after {
    content: "\ea42";
    font-family: "icomoon";
    margin-left: 10px;
    /* 质量图标也是一种文本,可以给color */
    color: #b1191a;
}
  • count统计部分用绝对定位去做。
  • count统计部分不要给宽度,因为可能买的件数比较多,让件数撑开就好了,给一个高度。
  • 一定要注意左下角不是一个圆角,其余三个是圆角。写法:border-radius: 7px 7px 7px 0;
.count {
    position: absolute;
    top: -5px;
    /* 最好使用左对齐,而不是右对齐 */
    /* 因为不排除有土豪买了很多东西 */
    left: 95px;
    height: 14px;
    /* 不重新定义line-height,则会继承父元素的line-height值 */
    line-height: 14px;
    color: #ffffff;
    background-color: #e60012;
    padding: 0 5px;
    border-radius: 7px 7px 7px 0;
}

2.4 nav 导航制作

在这里插入图片描述

  • nav盒子通栏有高度,而且有个下边框
  • 1 号盒子左浮动,dropdown
  • 2 号盒子左浮动,navitems导航栏组
  • 1 号盒子有讲究,根据相关性 里面包含.dt和.dd两个盒子

2.5 footer 底部制作

在这里插入图片描述

  • footer页面底部盒子通栏给一个高度和灰色的背景。
  • footer里面有个大的版心。
  • 版心里面包含1号盒子,mod_service是服务模块,mod是模块的意思。
  • 版心里面包含2号盒子,mod_help是帮助模块。
  • 版心里面包含3号盒子,mod_copyright是版权模块。

2.6 main 主体模块制作

  • 以前书写的就是模块化中公共的部分。
  • main主体模块是index里面专有的,需要注意新的样式文件index.css。
  • main盒子宽度为980像素,位置距离左边220px(margin-left),给了高度就不用清除浮动。
  • main里面包含左侧盒子,左浮动,focus焦点图模块。
  • main里面包含右侧盒子,右浮动,newsflash新闻快报模块。
    在这里插入图片描述
    newsflash新闻快报模块
  • 1号盒子为news新闻模块 高度为165px
  • 2号盒子为lifeservice生活服务模块 高度为209px
  • 3盒子为bargain特价商品

news新闻模块
注意,这里我们分为上下两个模块,但是两个模块都用div
1号盒子news-hd新闻头部模块,给一个高度和下边框
2号盒子news-bd新闻主题部分,里面包含ul和li还有链接
在这里插入图片描述

2.7 推荐模块制作

在这里插入图片描述

  • 大盒子recom推荐模块 recommend
  • 里面包含两个大盒子,浮动即可
  • 1号盒子recom-hd
  • 2号盒子recom-bd,注意里面的小竖线

2.8 楼层区floor制作

  • 注意这个floor,不要给高度,内容有多长算多少。

  • 第一楼是家用电器模块:里面包含两个盒子。

  • 1号盒子box_hd,给一个高度,下面有个边框,里面分为左右2个孩子。

  • 2号盒子box_bd,不要给高度。

三、品优购列表页制作

3.1 结构搭建

  • 列表页面是新的页面,我们需要新建页面文件list.html。
  • 因为列表的头部和底部基本保持一致,所以我们需要把首页中的头部和底部的结构复制过来。
  • 头部和底部也需要样式因此list.html中还需要引入common.css。
  • 需要新的list.css样式文件,这是列表也专门的样式文件。

3.2 列表页header和nav修改

在这里插入图片描述

  • 秒杀盒子sk(second kill)定位即可
  • 1 号盒子左浮动sk_list里面包含ul和li
  • 2号盒子左浮动sk_con里面包含ul和li

3.3 列表页主体 sk_container

在这里插入图片描述

  • 1号盒子sk_container给宽度1200,不要给高度。
  • 2号盒子sk_hd,插入图片即可。
  • 3号盒子sk_bd,里面包含很多ul和li。

为了消除nav中.sk_con ul li a的line-height超出 47px 给sk_container带来的不好影响,需给nav添加下述代码:
在这里插入图片描述

.nav {
    /* 消除nav中.sk_con ul li a的line-height超出47px的影响 */
    overflow: hidden;
}

在这里插入图片描述

四、品优购注册页制作

4.1 注册页类名命名

注册页面:register.html
注意:注册页面比较隐私,为了保护用户信息,我们不需要对当前页面做SEO优化

名称说明
注册专区registerarea
注册内容ref-form
错误的error
成功的success
默认的default

在这里插入图片描述

4.2 注册页面布局

在这里插入图片描述

4.3 registerarea 布局

五、web服务器

5.1 什么是web服务器

5.2 本地服务器

5.3 远程服务器

5.4 将自己的网站上传到远程服务器上

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值