HTML代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>电商项目轮廓</title>
<!-- 重置浏览器样式 ,在不同浏览器下显示一致-->
<link rel="stylesheet" type="text/css" href="https://cdn.bootcss.com/normalize/8.0.1/normalize.min.css">
<!-- 前置工作的css -->
<link rel="stylesheet" type="text/css" href="css/prepare.css">
<!-- 引入主css -->
<link rel="stylesheet" type="text/css" href="css/main.css">
</head>
<body>
<!-- 电商布局 -->
<!-- 布局思路 -->
<!-- 网页最上面那部分 -->
<!-- 所有浮动的母元素清除浮动 -->
<!-- 网页最顶部部分 -->
<div class="top-nav clear-float">
<!-- container的目的是把所有的容器包起来 -->
<div class="container clear-float">
<!-- 定义容器里的小块,左右浮动的两个小块 -->
<!-- 注意这里的container坍缩了,清除浮动 -->
<div class="fl">
<a class="item" href="">首页</a>
</div>
<div class="fr">
<a class="item" href="">我的订单</a>
<a class="item" href="">我的收藏</a>
<a class="item" href="">登录</a>
<a class="item" href="">注册</a>
</div>
</div>
</div>
<!-- 网页搜索栏那部分 -->
<div class="header clear-float">
<!-- 从左到右,分别是logo,搜索框,购物车,大概比例是2,5,3 -->
<!-- 首先还是定义一个容器 -->
<div class="container clear-float">
<!-- 定义container里的三块内容 -->
<div class="colume-2">
<img src="images/logo.png" alt="">
</div>
<div class="colume-5 search-area">
<input type="text"></input>
<button>搜索</button>
</div>
<div class="colume-3 car">
<a class="item" href="">购物车</a>
</div>
</div>
</div>
<!-- 网页主促销区 -->
<div class="main-promote clear-float">
<!-- 主促销区左边分类块,中间促销商品,右边公告,比例大概是2,6,2 -->
<!-- 首先还是来个container包裹 -->
<div class="container clear-float">
<!-- 分成三块 -->
<div class="colume-2 category">
<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 class="colume-6">
<div class="slider">
<img src="images/slider-01.png" alt="">
</div>
<div class="promote">
<div class="colume-05">
<img src="images/logo.png" alt="">
</div>
<div class="colume-05">
<img src="images/logo.png" alt="">
</div>
</div>
</div>
<div class="colume-2 info ">
<div class="author clear-float">
<div class="log"></div>
欢迎您购物
<div class="anno">
<div class="title">公告</div>
<div class="content">
这是一瓶起泡酒,也是一瓶纪念阿里巴巴成立20年的纪念酒,酒瓶上写有马云逍遥子的笔名,令人神奇的是马云还能在酒里说话...据了解,这瓶酒的正确开启方式是使用支付宝VR扫描盒外的二维码,并将手机放入盒子另一侧,手机中的视频就会反射到酒瓶上,形成类似全息投影的效果,看起来非常的神奇。这是一瓶起泡酒,也是一瓶纪念阿里巴巴成立20年的纪念酒,酒瓶上写有马云逍遥子的笔名,令人神奇的是马云还能在酒里说话...据了解,这瓶酒的正确开启方式是使用支付宝VR扫描盒外的二维码,并将手机放入盒子另一侧,手机中的视频就会反射到酒瓶上,形成类似全息投影的效果,看起来非常的神奇.
</div>
</div>
</div>
</div>
</div>
<!-- 网页子促销区 -->
<!-- 促销区有很多行,以三行为例 -->
<div class="sub-promote1 clear-float">
<!-- 促销区是各种商品,每块大概占20% -->
<!-- 首先以container容器包裹 -->
<div class="container clear-float">
<div class="colume-2">1</div>
<div class="colume-2">2</div>
<div class="colume-2">3</div>
<div class="colume-2">4</div>
<div class="colume-2">5</div>
</div>
</div>
<div class="sub-promote2 claear-float">
<!-- 促销区是各种商品,每块大概占20% -->
<!-- 首先以container容器包裹 -->
<div class="container clear-float">
<div class="colume-2">1</div>
<div class="colume-2">2</div>
<div class="colume-2">3</div>
<div class="colume-2">4</div>
<div class="colume-2">5</div>
</div>
</div>
<div class="sub-promote3 clear-float">
<!-- 促销区是各种商品,每块大概占20% -->
<!-- 首先以container容器包裹 -->
<div class="container clear-float">
<div class="colume-2">1</div>
<div class="colume-2">2</div>
<div class="colume-2">3</div>
<div class="colume-2">4</div>
<div class="colume-2">5</div>
</div>
</div>
<!-- 网页的页脚 -->
<div class="footer clear-float">
<!-- 页脚有些文字,只需要使得文字居中即可 -->
<div class="container clear-float">
文字
</div>
</div>
</body>
</html>
CSS代码
/*准备工作*/
/*给所有的东西指定一下*/
* {
-webkit-box-sizing:border-box;
box-sizing:border-box;
/*添加这个是加个透明度,便于分析不同元素位置,
网页做好了删掉即可*/
background-color: rgb(0,0,0,.1);
/*页面颜色变化时间变得柔和一点,没0.2秒一次*/
-webkit-transition:background 200ms;
-o-transition:background 200ms;
transition:background 200ms;
}
/*给body再指定一下*/
body {
font-size: 12px;
color: #444;
line-height: 1.7;
}
/*把所有的图片定义一下格式*/
img {
display: block;
max-width: 100%;
}
/*定义一个类,使其居中*/
.container {
/*使其以块级元素显示,一般定义这个容器,都是块级*/
display: block;
/*最大宽度1080px,如果窗口宽度大于1080px,
则只为1080px,如果窗口宽度小于1080px,则为最大窗口。*/
max-width: 1080px;
/*上下为0,左右auto,使其居中*/
margin: 0 auto;
}
/*常用左右浮动*/
.fl {
float: left;
}
.fr {
float: right;
}
/*container有两个子元素,都是浮动的,这样就撑不起来了,故而container
的高度为0,这就需要清除浮动,使得container的高度重新撑起来*/
/*利用css里伪类的概念*/
.clear-float:after,
.clear-float:before {
content: " ";
display: block;
clear: both;
}
/*元素并排显示*/
/*这里有个细节,如果你写<span>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</span>
这样并不会说会显示理想的左边占50%,右边占50%,因为钯那么多a当成一个单词
不会自动给你换行*/
p {
width: 25%;
float: left;
}
/*在布局中经常使用,
可以定义一套标准,比如左边10%,右边90%等等
也就是原子类*/
.colume-1,
.colume-2,
.colume-3,
.colume-4,
.colume-5,
.colume-6,
.colume-7,
.colume-8,
.colume-9 {
/*就是使得每一部分以块级元素显示*/
display: block;
/*每个部分与每个部分之间相对定位显示*/
position: relative;
/*给一个最小像素,确保这个有高度*/
min-height: 1px;
/*浮动*/
float: left;
}
/*以上指定的是共性,下面指定他们的具体样式*/
.colume-1 {
width: 10%;
}
.colume-2 {
width: 20%;
}
.colume-3 {
width: 30%;
}
.colume-4 {
width: 40%;
}
.colume-5 {
width: 50%;
}
.colume-6 {
width: 60%;
}
.colume-7 {
width: 70%;
}
.colume-8 {
width: 80%;
}
.colume-9 {
width: 90%;
}.top-nav {
/*颜色浅灰*/
background-color: #eee;
}
/*快捷键:选一个部分之后,按ctrl+d,可以连续选出所有和你选中的部分,
然后可以同时一起加上你想加的东西*/
a {
/*去掉下划线*/
text-decoration: none;
}
.top-nav .item {
display: inline-block;
/*top-nav类下的item类,上下6像素,左右10像素,单单只设置这个没用,因为
a默认是inline,上下并不会约束到,应该首先将其转为display: inline-block*/
padding: 6px 10px;
/*
关于inline和inline-block区别
1、inline:内联,只有水平宽度可以调,没有高度,任何属性调高度无效
2、inline-block:让元素以内联形式存在,也就是不是块级,但是表现起来
又有块级元素的高度,,也就是可以调高度;
*/
color: #666;
}
.top-nav .item:hover {
color: red;
}
/*header*/
.header {
/*header外边框上下20px,左右0px,整体上下就分离开*/
margin: 20px 0px;
}
.header .search-area {
/*边框设置,厚度为2个像素,实线,颜色*/
border:2px solid #dd182b;
background-color: #dd182b;
}
/*希望的是用外部的边框,但是需要input输入框,可以把input输入框隐藏*/
.header .search-area input,
.header .search-area button {
/*不加这两个会掉下来,转为块元素*/
display: block;
float: left;
/*设置border属性为0即可隐藏*/
border:0;
/*内边框距离是10像素,与button的内边框距离一样*/
padding: 10px;
/*与border很相似,将其值设为0没有描边*/
outline: 0;
}
.header .search-area input {
width: 80%;
}
.header .search-area button {
width: 20%;
/*将button背景色设为要求的颜色*/
background-color: #dd182b;
}
.header .search-area button:hover {
/*当鼠标经过button的时候,会变色,即获得焦点的时候*/
background:#ce1829;
}
/*购物车所在的块居中显示*/
.header .car {
text-align: center;
}
/*购物车的a块,设置有浮动,内边距和上面的logo和搜素栏一样,设置背景颜色
设置边框格式,a这个小块占car这个块的805,a的文字颜色是,注意color与background
的颜色区分开*/
.header .car a {
float: right;
padding: 10px;
background: #fff;
border:1px solid #eee;
width: 80%;
color: #dd182b;
}
.main-promote {
background-color: #dedede;
}
/*
注意:background-color和color区别:
1、background-color背景颜色
2、color字体颜色
*/
.main-promote .category {
background: #616568;
color:#fff;
}
.main-promote .category .item {
padding: 14px 20px;
}
/*rgba
r红色值
g绿色值
b蓝色值
a透明度 取值在0-1之间
*/
.main-promote .category .item:hover {
background: rgba(0,0,0,0.1);
}
/*生成图片的网站:dummyimage.com*/
.main-promote .info {
padding: 10px;
/*
line-height:行高,设置文字上下间的距离,可以让层里的元素居中;
height:高度,定义一个块的高度;
*/
/*line-height: 50%;*/
background: #fff;
color: #888;
/*使得看起来更有质感*/
box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}
.main-promote .info > * {
margin-bottom: 10px;
}
.main-promote .info .log {
width: 50px;
height: 50px;
background: #aaa;
/*圆角*/
border-radius: 50%;
float: left;
margin-right: 10px;
}
大概做成这个样子(图片没做比例,做个大概轮廓)
