简易商城 [ html + css ] 练习
1. 前言
通过使用 HTML + CSS 编写一个简易商城首页。 如图:

2. 布局思路
通过页面分析,大致可以决定页面的布局分为 5 大板块。


接下来,可以先定义页面的布局:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/main.css">
<link href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css" rel="stylesheet">
<title>蘑菇街 - 你的剁手街</title>
</head>
<body>
<div class="top-nav"></div>
<div class="header"></div>
<div class="main-promote"></div>
<div class="cat-promote"></div>
<div class="footer"></div> </body>
</html>
通过定义 5 个 div 将页面布局基本定义下来,接下来还是先定义页面详细的布局内容:

页面布局基本完成了, 接下来就是补充 css 样式。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/main.css">
<link href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css" rel="stylesheet">
<title>蘑菇街 - 你的剁手街</title>
</head>
<body>
<div class="top-nav">
<div class="container clearf">
<div class="left">
<a href="" class="item">item</a>
</div>
<div class="right">
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
</div>
</div>
</div>
<div class="header">
<div class="container clearf">
<div class="col-2">蘑菇街</div>
<div class="col-5">
<input type="text">
<button>搜索</button>
</div>
<div class="col-3">
<a href="" class="item">我的购物车</a>
</div>
</div>
</div>
<div class="main-promote">
<div class="container clearf">
<div class="col-2">
<div class="cat">
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
</div>
</div>
<div class="col-6">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Accusamus accusantium aliquid asperiores culpa cupiditate delectus, deserunt dolore eaque magnam maiores minima minus molestiae nihil placeat quae quaerat quos velit voluptas.
</div>
<div class="col-2">
<div class="auth">
<div class="avatar"></div>
你好,欢迎剁手.
</div>
<div class="anno">
<div class="title">公告</div>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa dolor dolore maxime numquam quia, reprehenderit sint voluptatem? Cum dolorem illum laboriosam omnis reiciendis, ut. Asperiores deserunt laudantium nam repudiandae tempore?
</div>
</div>
</div>
</div>
</div>
<div class="cat-promote">
<div class="container clearf">
<div class="title">男装</div>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Autem natus quam quos. Consectetur consequatur deserunt iusto nostrum quidem! Cupiditate dolor est facere illo, ipsam nobis quibusdam vel! Amet, hic, repudiandae.
</div>
</div>
<div class="footer">
<div class="container clearf">
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<div class="">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid at atque, explicabo fugiat harum in odit sapiente. A blanditiis cum, delectus, esse hic odit porro quasi quisquam quos sunt, unde.</div>
</div>
</div> </body>
</html>
index.html
* {
background-color: rgba(0,0,0,.1);
}
body {
line-height: 1.7;
font-size: 14px;
}
.left {
float: left;
}
.right {
float: right;
}
.container {
max-width: 1080px;
margin: 0 auto;
}
.clearf:before,
.clearf:after {
display: block;
content: '';
clear: both;
}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9 {
display: block;
float: left;
}
.col-1 {
width: 10%;
}
.col-2 {
width: 20%;
}
.col-3 {
width: 30%;
}
.col-4 {
width: 40%;
}
.col-5 {
width: 50%;
}
.col-6 {
width: 60%;
}
.col-7 {
width: 70%;
}
.col-8 {
width: 80%;
}
.col-9 {
width: 90%;
}
main.css
3. 添加 CSS 样式及调整
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" href="css/main.css">
<link href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css" rel="stylesheet">
<title>蘑菇街 - 你的剁手街</title>
</head>
<body>
<div class="top-nav">
<div class="container clearf">
<div class="left">
<a href="" class="item">首页</a>
</div>
<div class="right">
<a href="" class="item">我的订单</a>
<a href="" class="item">收藏夹</a>
<a href="" class="item">注册</a>
<a href="" class="item">登录</a>
</div>
</div>
</div>
<div class="header">
<div class="container clearf">
<div class="col-2 logo">蘑菇街</div>
<div class="col-5 search-bar">
<input type="text">
<button>搜索</button>
</div>
<div class="col-3 cart">
<a href="" class="item">我的购物车</a>
</div>
</div>
</div>
<div class="main-promote">
<div class="container clearf">
<div class="col-2 cat">
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
<div class="item">item / item</div>
</div>
<div class="col-6">
<div class="slider">
<img src="img/slider_01.png" alt="">
</div>
<div class="cat-promote">
<div class="col-5">
<img src="img/001.png" alt="">
</div>
<div class="col-5">
<img src="img/002.png" alt="">
</div>
</div>
</div>
<div class="col-2 info">
<div class="auth clearf">
<div class="avatar"></div>
你好,欢迎剁手.
</div>
<div class="anno">
<div class="title">公告</div>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Culpa dolor dolore maxime numquam quia, reprehenderit sint voluptatem? Cum dolorem illum laboriosam omnis reiciendis, ut. Asperiores deserunt laudantium nam repudiandae tempore?
reprehenderit sint voluptatem? Cum dolorem illum laboriosam omnis reiciendis, ut. Asperiores deserunt laudantium nam repudiandae tempore?
</div>
</div>
</div>
</div>
</div> <div class="container clearf">
<div class="cat-promote">
<div class="title">男装</div>
<div class="content">
<div class="col-2 item">
<div class="card"></div>
</div>
<div class="col-3 item">
<div class="card"></div>
</div>
<div class="col-2 item">
<div class="card"></div>
</div>
<div class="col-3 item">
<div class="card"></div>
</div>
</div>
</div>
<div class="cat-promote">
<div class="title">女装</div>
<div class="content">
<div class="col-3 item">
<div class="card"></div>
</div>
<div class="col-2 item">
<div class="card"></div>
</div>
<div class="col-3 item">
<div class="card"></div>
</div>
<div class="col-2 item">
<div class="card"></div>
</div>
</div>
</div>
</div> <div class="footer">
<div class="container clearf">
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<a href="" class="item">item</a>
<div class="">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aliquid at atque, explicabo fugiat harum in odit sapiente. A blanditiis cum, delectus, esse hic odit porro quasi quisquam quos sunt, unde.</div>
</div>
</div> </body>
</html>
index.html
* {
/*background-color: rgba(0,0,0,.1);*/
box-sizing: border-box;
transition: background-color 200ms;
}
body {
line-height: 1.7;
font-size: 14px;
background-color: #f9f9f9;
}
a {
text-decoration: none;
}
img {
float: left;
width: 100%;
}
.left {
float: left;
}
.right {
float: right;
}
.container {
max-width: 1080px;
margin: 0 auto;
}
.clearf:before,
.clearf:after {
display: block;
content: '';
clear: both;
}
.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9 {
display: block;
float: left;
}
.col-1 {
width: 10%;
}
.col-2 {
width: 20%;
}
.col-3 {
width: 30%;
}
.col-4 {
width: 40%;
}
.col-5 {
width: 50%;
}
.col-6 {
width: 60%;
}
.col-7 {
width: 70%;
}
.col-8 {
width: 80%;
}
.col-9 {
width: 90%;
}
.top-nav {
background-color: #eeeeee;
}
.top-nav .item {
display: inline-block;
color: #666;
padding: 6px 10px;
}
.header {
padding: 20px;
}
.header .logo {
font-size: 30px;
}
.header .search-bar {
border: 2px solid #dd182b;
background-color: #dd182b;
}
.header .search-bar input,
.header .search-bar button {
float: left;
padding: 10px;
border:;
outline:;
}
.header .search-bar input {
width: 80%;
}
.header .search-bar button {
width: 20%;
background-color: #dd182b;
color: #fff;
}
.header .search-bar input:focus {
box-shadow: inset 0 0 2px 2px rgba(0,0,0,.2);
}
.header .search-bar button:hover {
background-color: #ce1829;
}
.header .cart {
text-align: center;
}
.header .cart .item {
float: right;
width: 80%;
padding: 10px;
border: 2px solid #eee;
color: #dd182b;
}
.main-promote {
background-color: #dedede;
}
.main-promote .cat {
background-color: #6e6568;
}
.main-promote .cat .item {
padding: 14px 20px;
color: #fff;
}
.main-promote .cat .item:hover {
background-color: rgba(0,0,0,.2);
}
.main-promote .info {
padding: 10px;
background-color: #fff;
color: #888;
box-shadow: 0 1px 2px rgba(0,0,0,.1);
}
.main-promote .info .avatar {
float: left;
display: inline-block;
height: 50px;
width: 50px;
border-radius: 50%;
background-color: #aaa;
margin-right: 10px;
margin-bottom: 10px;
}
.cat-promote .title:before {
display: inline-block;
content: '';
height: 22px;
width: 5px;
background-color: #dd182b;
margin-right: 10px;
vertical-align: middle;
}
.cat-promote .title {
font-size: 22px;
}
.cat-promote .content .item {
padding: 5px;
}
.cat-promote .content .card {
height: 300px;
background-color: #ccc;
border-radius: 4px;
}
.footer {
margin-top: 30px;
padding: 30px 0;
background-color: #eee;
text-align: center;
color: #999;
}
.footer a {
color: #999;
}
main.css
4. 总结
在编写 HTML 页面时,首先将页面整体的框架构建出来,不要一上来就写CSS,将整体的框架确定好了后,在进行小模块的编写。最后在通过css优化出来。
简易商城 [ html + css ] 练习的更多相关文章
- .NETCore 快速开发做一个简易商城
介绍 上一篇介绍 <.NETCore 基于 dbfirst 体验快速开发项目>,讲得不太清楚有些多人没看懂.这次吸取教训,将一个简易商城做为案例,现实快速开发. 本案例用于演示或学习,不具 ...
- LayoutSimple简易响应式CSS布局框架
开发这个css布局的目的是为了少做一些重复的工作,一是前端或多或少会开发一些很小的响应式项目, 二是UI设计的出来的界面总是各种布局各种样式,这个时候如果前端去使用Bootstrap或者Foundat ...
- javaweb和数据库的简易商城系统
这是一个基于Javaweb和数据库的简易商城系统.为大二夏季小学期完成. 目录结构 主要功能截图为: 一.购买用户 1.首页(除此界面其余界面访问需要登录才能进入) 查看商品 添加购物车 查看购物车 ...
- 商城常用css分类代码
如图: 原代码如下: <div class="allMerchan bgnone"> <h2 class="ttlm_category"> ...
- [转帖]2019 简易Web开发指南
2019 简易Web开发指南 2019年即将到来,各位同学2018年辛苦了. 不管大家2018年过的怎么样,2019年还是要继续加油的! 在此我整理了个人认为在2019仍是或者将成为主流的技术 ...
- day113:MoFang:种植园商城页面&充值集成Alipay完成支付的准备工作
目录 1.种植园商城页面初始化 2.规划商品种类并且构建关于商品的模型类 3.解决APP打包编译之后的跨域限制 4.商品列表后端接口实现 5.前端获取商品列表并显示 6.种植园点击充值允许用户选择充值 ...
- ECMall模板开发文档
ECMall 模板开发文档 前 言 欢迎阅读 ECMall 模板制作教程,通过阅读本教程可快速上手 ECMall 模板的使用和制作. ECMall 模板制 作要求用户具备 XML . XHTML 和 ...
- mysql数据库-初始化sql建库建表-关联查询投影问题
下面是一个简易商城的几张表的创建方式 drop database if exists shop ; create database shop CHARACTER SET 'utf8' COLLATE ...
- Metronic4.7.5 下载 HTML5 UI后台管理框架
Metronic 是一套精美的响应式后台管理模板,基于强大的 Twitter Bootstrap 3.3.4 框架实现.Metronic 拥有简洁优雅的 Metro UI 风格界面,6 种颜色可选,7 ...
随机推荐
- 事务@Transactional
在service类前加上@Transactional,声明这个service所有方法需要事务管理.每一个业务方法开始时都会打开一个事务. Spring默认情况下会对运行期例外(RunTimeExcep ...
- TCN时间卷积网络——解决LSTM的并发问题
TCN是指时间卷积网络,一种新型的可以用来解决时间序列预测的算法.在这一两年中已有多篇论文提出,但是普遍认为下篇论文是TCN的开端. 论文名称: An Empirical Evaluation of ...
- Java实现行列式计算
前天我看线代书,看到行列式,发现是个递归的式子,恰巧又正在学java,产生写程序实现的想法.写了两个小时,觉得实现了,写了个行列式放进去测试,我放的是 这个行列式,经过程序计算后发现结果是0.我以为我 ...
- samba服务器的搭建和用户权限,文件夹权限设置
一.简介:samba服务是基于netbios 安装: 通过yum安装 [root@localhost ~]# yum install samba samba-client samba-swat 查看 ...
- 《团队作业第三、四周》五阿哥小组Scrum 冲刺阶段---Day4
<团队作业第三.四周>五阿哥小组Scrum 冲刺阶段---Day3 一.项目燃尽图 二.项目进展 20182310周烔今日进展: 主要任务一览:聊天软件主界面 20182330魏冰妍今日进 ...
- make 命令出现:"make:*** No targets specified and no makefile found.Stop."
我们在Linux 安装包的时候,使用make 命令出现:"make:*** No targets specified and no makefile found.Stop."这样的 ...
- zzulioj - 2619: 小新的信息统计
题目链接:http://acm.zzuli.edu.cn/problem.php?id=2619 题目描述 马上就要新生赛了,QQ群里正在统计所有人的信息,每个人需要从群里下载文件,然后 ...
- vlang 试用
vlang 是最近出来的一门编程语言,集成了rust,golang, 等语言的特性,轻量.简洁.编译 快速,详细的比价参数可以参考官方文档 安装 目前尽管官方提供了linux以及mac 的二进制文件, ...
- “知乎杯”2018 CCF 大学生计算机系统与程序设计竞赛 贪心算法(greedy)
--> 贪心算法 1)题解 • 分别用V0.V1和V>=2表示度为0.1以及至少为2的顶点集合 • 对于每个顶点,维护三个属性: • degree ...
- gulp/webpack运行sass报错解决方法
帮同事安装gulp和webpack运行环境,使用cnpm install安装node-sass之后,运行项目总是报错,提示vendor目录不存在,几番百度之后,找到处理方法,这里记录一笔,防止以后遇到 ...