html作业中高水平制作,适用于有一定基础的同学,页面排版干净,固定导航栏加上轮播图,采用了html+css来实现布局,在登录界面用了一小段js来作为输入框的判断,非常适合想要突破技术的同学学习使用, 这个实例比较全面,有助于同学的学习,本文将介绍如何通过从头开始设计购物网站并将其转换为代码的过程来实践设计。
难度系数:★★★★☆
一、网站题目
简易购物商城、购物网站,购物商城等等
二、网站描述
本网站是以购物商城为主题制作的一个购物网站,网站内容分为四个板块,分别是主页,商品详情,购物车,登陆注册这四个页面,网站包含大量js,例如主页的背景颜色切换,时间显示,加入购物车,金额结算等等,适合有一定基础想要突破瓶颈的同学作为练习使用。
三、网站介绍
网站布局方面:计划采用目前主流的、能兼容各大主流浏览器、显示效果稳定的布局结构。多采用div+css来实现布局
网站程序方面:采用html+css+js技术来实现网站,并且兼容市面主流浏览器,打开不会错位不会乱码。
网站素材方面:通过网络社交网站等搜集图片和文字,运用适当的处理方法来对素材进行处理。
网站文件方面:网站系统文件种类包含:css文件夹、js文件夹、images文件夹;
网页编辑方面:网页作品代码简单,可使用任意HTML编辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad++ 等任意html编辑软件进行运行及修改编辑等操作)。
四、网站效果
这里对所有页面做了截图展示,附上运行视频
购物商城4页演示视频
五、部分代码制作
由于代码量大,这里只展示部分代码
index.html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>商品</title>
<link rel="stylesheet" href="./css/bootstrap.min.css" />
<link rel="stylesheet" href="./css/base.css" />
<link rel="stylesheet" href="./css/common.css" />
<link rel="stylesheet" href="./css/index.css" />
<link rel="stylesheet" href="./css/nav.css">
<link rel="stylesheet" href="./css/tab.css">
<link rel="stylesheet" href="./css/index1.css">
<style>
</style>
</head>
<body>
<!-- 快捷导航 -->
<div class="shortcut">
<div class="wrapper">
<div class="change">
<div id="change-d1" onclick="change1()">黄色</div>
<div id="change-d2" onclick="change2()">红色</div>
<div id="change-d3" onclick="change3()">蓝色</div>
<div id="change-d4" onclick="change4()">绿色</div>
<div id="change-d5" onclick="change5()">宋体</div>
<div id="change-d6" onclick="change6()">斜体</div>
</div>
<ul>
<li><i>现在是</i><a href="#" id="clock"></a></li>
<li><a href="#" id="greeting"></a></li>
<li><a href="login.html">开心每一天</a></li>
<li><a href="car.html">购物车</a></li>
</ul>
</div>
<ul class="nav">
<li class="active">首页</li>
<li>最新活动</li>
<li>限时秒杀</li>
<li>客服中心</li>
</ul>
</div>
<!-- 快捷导航到此结束 -->
<div
id="myCarousel"
class="carousel slide"
data-ride="carousel"
style="text-align: center; margin-top: 10px"
>
<!-- Indicators -->
<ul class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ul>
<!-- Slides -->
<div class="carousel-inner">
<div class="carousel-item active">
<img
style="width: 1000px;height: 300px;"
src="./uploads/banner3.jpg"
alt="Image 1"
/>
<div class="carousel-caption">
<h3>Image 1</h3>
<p>Description for Image 1</p>
</div>
</div>
<div class="carousel-item">
<img
style="width: 1000px;height: 300px;"
src="./uploads/banner1.png"
alt="Image 2"
/>
<div class="carousel-caption">
<h3>Image 2</h3>
<p>Description for Image 2</p>
</div>
</div>
<div class="carousel-item">
<img
style="width: 1000px;height: 300px;"
src="./uploads/banner2.png"
alt="Image 3"
/>
<div class="carousel-caption">
<h3>Image 3</h3>
<p>Description for Image 3</p>
</div>
</div>
</div>
<!-- Controls -->
<a class="carousel-control-prev" href="#myCarousel" data-slide="prev">
<span class="carousel-control-prev-icon"></span>
</a>
<a class="carousel-control-next" href="#myCarousel" data-slide="next">
<span class="carousel-control-next-icon"></span>
</a>
</div>
<div id="tab">
<ul id="ul1">
<li class="active">手机</li><li>电脑</li><li>服装</li><li>水果</li><li>美食</li><li>家居</li><li>猫粮</li>
</ul>
<section>
<div>
<ul>
<li><a href="javascript:;">华为手机</a></li>
<li><a href="javascript:;">小米手机</a></li>
<li><a href="javascript:;">苹果手机</a></li>
<li><a href="javascript:;">三星手机</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">Mac新款2024</a></li>
<li><a href="javascript:;">华为笔记本</a></li>
<li><a href="javascript:;">ROG败家之眼新品</a></li>
<li><a href="javascript:;">联想笔记本</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">NIKE短袖新品</a></li>
<li><a href="javascript:;">NIKE短裤</a></li>
<li><a href="javascript:;">李宁短袖</a></li>
<li><a href="javascript:;">Adidas短袖新品</a></li>
<li><a href="javascript:;">NIKE防晒衣</a></li>
<li><a href="javascript:;">NIKE冰袖</a></li>
<li><a href="javascript:;">NIKE外套</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">车厘子</a></li>
<li><a href="javascript:;">西瓜</a></li>
<li><a href="javascript:;">哈密瓜</a></li>
<li><a href="javascript:;">阳光玫瑰</a></li>
<li><a href="javascript:;">榴莲</a></li>
<li><a href="javascript:;">草莓</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">薯片</a></li>
<li><a href="javascript:;">饼干</a></li>
<li><a href="javascript:;">面包</a></li>
<li><a href="javascript:;">烤鸡</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">沙发套</a></li>
<li><a href="javascript:;">地毯</a></li>
<li><a href="javascript:;">不粘锅</a></li>
<li><a href="javascript:;">洗护用品</a></li>
<li><a href="javascript:;">毛巾</a></li>
<li><a href="javascript:;">碗筷</a></li>
</ul>
</div>
<div class="hide">
<ul>
<li><a href="javascript:;">猫粮</a></li>
<li><a href="javascript:;">猫砂</a></li>
<li><a href="javascript:;">猫条</a></li>
<li><a href="javascript:;">小猫零食</a></li>
<li><a href="javascript:;">幼猫猫粮</a></li>
<li><a href="javascript:;">全价猫粮</a></li>
<li><a href="javascript:;">猫砂盆</a></li>
</ul>
</div>
</section>
</div>
<div
class="fresh wrapper"
style="margin-top: 10px; display: flex; justify-content: center"
>
<div class="bd clearfix">
<div class="right">
<ul class="products"></ul>
</div>
</div>
</div>
<script src="js/jq.js"></script>
<script src="js/product.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/popper.min.js"></script>
<script src="js/jquery-3.5.1.slim.min.js"></script>
<script src="./js/clock.js"></script>
<script src="./js/index.js"></script>
</body>
</html>
index.css
/* <!-- banner区域 --> */
.banner {
height: 500px;
background-color: #f5f5f5;
}
.banner .wrapper {
position: relative;
height: 500px;
background-color:#f0a363;
}
.banner .aside {
position: absolute;
left: 0;
top: 0;
width: 251px;
height: 500px;
background-color: #000000;
opacity: 0.8;
}
.banner .aside li {
height: 50px;
line-height: 50px;
}
.banner .aside li a {
position: relative;
display: inline-block;
padding-left: 36px;
padding-right: 19px;
height: 50px;
width: 251px;
line-height: 50px;
font-size: 16px;
color: #ffffff;
}
.banner .aside li a:hover {
background-color: #27ba9b;
}
.banner .aside a span {
margin-left: 15px;
font-size: 14px;
color: #ffffff;
}
.banner .aside li a::after {
position: absolute;
top: 19px;
right: 19px;
content: "";
background-image: url(../images/sprites.png);
background-position: -80px -110px;
width: 6px;
height: 11px;
/* background-color: pink; */
}
/* <!-- 箭头侧导航 --> */
.next,
.prev {
position: absolute;
top: 228px;
width:45px;
height:45px;
background-color: #000000;
opacity: 0.2;
border-radius: 50%;
}
.prev {
left:260px ;
background-image: url(../images/sprites.png);
background-position: 15px -60px;
}
.next {
right: 10px;
background-image: url(../images/sprites.png);
background-position: -23px -59px;
}
/* <!-- 小圆点 --> */
.banner ol {
position: absolute;
left: 680px;
bottom: 31px;
width: 200px;
height: 10px;
/* background-color: rgb(214, 99, 176); */
}
.banner ol li {
float: left;
margin-right: 24px;
width: 9px;
height: 10px;
background-color: #ffffff;
opacity: 0.43;
border-radius: 50%;
cursor: pointer;
}
.banner ol .current {
background-color: #fff;
}
/* <!-- 新鲜好物区域 --> */
.goods .hd {
height: 114px;
line-height: 114px;
/* background-color:pink; */
}
.goods .hd h2,
.fresh .hd h2 {
float: left;
height: 29px;
font-size: 29px;
font-weight: 400;
color: #333333;
}
.goods .hd h2 span{
margin-left: 34px;
font-size: 16px;
color: #999999;
}
.goods .hd a {
float: right;
font-size: 16px;
color: #999999;
}
.goods .hd a::after,
.fresh .hd .more::after{
display: inline-block;
content: "";
margin-left: 13px;
width: 7px;
height: 13px;
/* background-color: salmon; */
background-image: url(../images/sprites.png);
background-position: 0 -110px;
vertical-align: middle;
}
/* <!-- 新鲜好物区域--bd区域 --> */
.goods .bd li {
position: relative;
float: left;
margin-right: 7px;
width: 304px;
height: 405px;
background-color: #f0f9f4;
text-align: center;
}
.goods .bd li:last-child {
margin-right: 0;
}
.goods .bd img {
width: 304px;
}
.goods .bd h3:{
margin-top: 20px;
margin-bottom: 10px;
font-size: 23px;
font-weight: 400;
}
.goods .bd div{
font-size: 23px;
color: #9a2e1f;
}
.goods .bd div span {
font-size: 17px;
color: #9a2e1f;
}
.goods .bd li b{
position: absolute;
top: 18px;
left: 17px;
width: 29px;
height: 51px;
border: 1px solid #27ba9b;
border-radius: 4px;
font-size: 18px;
font-weight: 400;
color: #27ba9b;
line-height: 24px;
}
/* <!-- 生鲜区域 --> */
.fresh .hd {
height: 96px;
/* background-color:pink; */
text-align: center;
line-height: 96px;
}
.fresh .hd h2 {
float: left;
}
.fresh .hd .more {
float: right;
}
.fresh .hd ul {
float: right;
margin-right: 96px;
}
.fresh .hd ul li{
float: left;
}
.fresh .hd ul li a {
padding: 2px 8px;
}
.fresh .hd ul li a:hover{
background-color: #27ba9b;
color: #fefbfc;
}
.fresh .left {
float: left;
width: 240px;
height: 610px;
background-color: #c43131;
}
.fresh .right {
/* float: right; */
width: 1000px;
/* height: 610px; */
}
.fresh .right li{
width: 242px;
height: 302px;
float: left;
padding-left: 8px;
background-color: #ffffff;
/* border:1px solid tomato; */
}
.fresh .right li img{
width: 184px;
}
.fresh .right li div::first {
width: 166px;
height: 87px;
margin: 12px 47px 13px 29px;
line-height: 20px;
}
.fresh .right .type{
margin-bottom: 15px;
}
.fresh .right li div span{
font-size: 17px;
color: #9a2e1f;
}
.fresh .right li div b {
font-size: 22px;
color: #9a2e1f;
}
六、制作心得
在这个网站的制作过程中有很多意想不到的错误,同时为了减少html页面的代码量,商品内容都放在js里面来处理,通过循环来依次展示商品,同时购物车界面也需要获取商品参数,总的来说通过这个购物商城网站的制作可以很大程度提升对js的理解。