实验日期:2022-09-23
(一)大作业要求
综合运用所学知识,完成一个Web前端项目。内容和功能不做具体限定,主题可以是商业公司网站、学校网站或电商网站等。
技术要求:
最终提交的作业,除提交完整的网站代码外,还必须以大作业报告的形式阐述整个网站的实现过程,要求报告内容中必须包括:
大作业的评分点涵盖大作业从选题、需求分析、项目实现到文档撰写全过程。具体评分点及各评分点的比重如下:
评分依据:选题的难度、创新度、工作量等
评分依据:分析是否充分、表述是否明确、功能的实用价值等
评分依据:结构完整性、内容充实度、格式符合度、图表规范程度等
评分依据:代码复杂度、功能完整性、是否运用了要求的知识点、设计或算法是否有创新等
(二)网页设计
目录
一、项目需求分析
1.1项目介绍
1.2功能需求
二、系统分析与设计
2.1本程序需解决的关键技术问题
2.2 项目流程
2.3功能模块
三、项目设计与实现
3.1工程文件组织结构
3.2网页设计
3.3网页实现
四、 系统测试
4.1系统整体运行页面
五、设计日志
六、个人小结
6.1遇到的困难及克服
6.2个人收获/启示/教训
6.3 教训
参考文献
本项目使用HTML5、CSS、javascript、jQuery技术,实现了淘宝网站的简易网页设计。项目设计具体的功能有登录、注册、动画播放和基本的页面跳转等。
随着互联网的发展,网购已经成为了很大一部分人的购物方式选择。在疫情反复的当下,网购更能弥补人们不能随意出门购物的遗憾。设计淘宝网站,可很大程度上满足人们的网购需求,实现云端实时购物。
本项目制作简易淘宝网页,在模拟淘宝网页的基础上,通过另外设计登录和注册页面,添加了自己独特的登录和注册功能。同时在页面跳转功能上十分全面,用户基本上可通过点击页面上的图片或文字即可进入对应的页面,丰富了用户的使用体验。
页面功能设计思路主要以从上至下展开为主,三路铺开设计,利用div和css进行合理的页面布局。
3.1.1工程文件组成
3.1.2关系
login.html、regisiter.html文件在taobao.html文件的登录注册功能模块中调用;taobao.css通过link标签链接外部样式表引入;taobao.js通过script标签引入taobao.html
3.2.1网页头部页面设计
3.2.2网页logo主页面设计
3.2.3 网页左侧“主题市场”页面设计
3.2.4网页中部“图片轮播”页面设计及链接
3.2.5网页右侧“登录注册入口”页面及小模块设计
3.2.6 网页用户登录页面设计
3.2.7网页用户注册页面设计
3.2.8网页下部商品推荐页面设计
3.3.1头部页面下拉框设计
在taobao.css文件中设计“site-nav-menu”类选择器,display属性为none,position属性为absolute,然后是对边框距离的设置,最关键的是overflow属性的设置,设置为scroll,即可实现下拉框的滑动效果。
具体代码如下:.site-nav-menu{
display: none;
position: absolute;
top:36px;left:0;
height: 100px;
background-color: #ffffff;
overflow: scroll;
}
3.3.2图片轮播设计
在用户无操作时,图片自动轮播,此处通过创建定时器,调用setInterval()函数和clearInterval()函数进行间隔时长的控制;为外部容器绑定相关事件,鼠标移入时,关闭自动翻页定时器,鼠标移出时开启自动翻页定时器。
如下:$box2.children[u].onmouseout = function(){
timer = setInterval(go,1000);
用户也可通过点击标识,实现翻页,这需要通过首先获取相关对象,然后切换按钮,设置图片首尾相接效果,接下来随图片切换更新小圆点。之后用户即可通过点击小圆点切换图片。期间利用jQuery对很多属性都进行了设置,如display属性。
for(var u =0;u<$length;u++){
$box2.children[u].index = u;
$box2.children[u].onmouseover = function(){
clearInterval(timer);
for(var j=0;j<$length;j++){
$box1[j].style.display = "none";
$box2.children[j].className = "";
}
this.className = "on";
$box1[this.index].style.display = "block";
current = this.index +1;
}
3.3.3搜索框的嵌套设计
使用多个div盒子,首先将“宝贝”放入搜索框最右侧置于span盒子中,并为其设置下拉选择框,之后是将input标签的输入框置于另一div盒中,最后是含“搜索”的另一个div盒子,并设置了相关属性;在各种div和span盒子间,由于最外部div盒子设置了float:left属性,所以所有的元素会横向排列,形成一个合理的搜索框。
具体代码如下:
宝贝
placeholder="请输入搜索文字" >
4.1.1 Safari浏览器:
4.1.2谷歌浏览器:
4.2功能测试
4.2.1图片轮播功能:
4.2.2头部页面下拉框功能:
4.2.3点击图片/文字实现页面跳转功能
例1:
4.2.4用户登录功能页面切换
用户名长度检测:
两次密码输入是否一致检测:
电子邮箱格式检测:
出生日期设置(date属性):
1.问题:淘宝页面比较复杂,不知道如何合理的进行页面布局实现淘宝网页面设计?
解决:采用div➕css布局,将整个页面分为若干个盒子/区域,将问题细化,然后再对每个盒子进行布局设计。以头部页面为例,将其放入一个div盒子中,为实现每个功能栏横向排列,采用css浮动布局,即float:left(左侧浮动),即可达到目标效果;浮动布局在本页面的运用还有商品推荐模块,每个商品栏横向排列,同时只需将下一行第一个div小盒子取消浮动即可实现商品栏换行;类似的运用还有页面右侧横向排列的各种图片,都是通过浮动和适时取消浮动来实现。
从整体上分析,只需设计好大盒子的宽度和高度,运用浮动使其能合理的布局即可。
2.问题:在自己设计的登录和注册网页中,用户注册时输入和设置的一些个人信息如用户名、密码和电话号码等,无法在登录时实现互通,在程序设计时这个问题很好解决,但在网页设计时,比较困难。
思考/解决:查询过相关资料后发现,这个问题是有关前端和后端的问题,网页设计属于前端的范畴,但登录与注册的信息互通则需要先将数据存入数据库中,在利用后端知识进行解决,目前所学知识有限,尚无法实现,只能实现一些仅依靠前端的功能。
3.问题:在主干页面的设计过程中,对于图片轮播的设计利用javascript比较复杂且代码繁多
解决:采用jquery技术,按照如下步骤进行设计:
首先我们需要定义每次翻页时图片容器需要移动的偏移量,常量PAGE_WIDTH,等于每个图片的宽度。定义每次动画执行的总时间time和动画的每帧移动的单位时间itemTime,得到总帧数。定义动画执行的标识变量isMoving,用于判断动画是否正在执行,初始值为false。创建图片切换函数nextPage,形参为布尔值next。在函数开始时,根据isMoving的值判断当前是否正在执行图片切换,如果正在执行,就直接return退出当次函数调用,如果没有执行,则修改isMoving为true。定义图片容器需要移动的总偏移量offset,总偏移量根据函数的实参判断向前切换图片还是向后切换,向前为正的PAGE_WIDTH,向后为负的PAGE_WIDTH,总偏移量/总帧数=单位偏移量itemOffset;获取当前图片容器的left值,等到图片容器移动的目标位置,targetLeft=left+offset;创建定时器,在定时器中修改图片容器的left值,left+=itemOffset
判断是否到达目标位置,left==targetLeft,如果到达目标位置,关闭定时器,标志着动画执行完毕,此时再改回isMoving的值为false;如果没有到达目标位置,在单位时间内移动图片容器;在按钮的click时间回调函数中调用nextPage()函数。
2.设置图片首尾相连效果
为实现首尾相接的效果,在第一张图片前添加第五张图片,在第五张图片后添加第一张图片,且将图片容器的初始化left值设置为-600px,修改图片容器的宽度
修改页面切换函数nextPage(),在每一次图片切换动画完成后,判断是否已经到达第一张/最后一张图片。left0或left-600*(真正的图片个数+1),真正的图片个数=小圆点个数;在移动到(假的)第一张/最后一张图片的动画完成后,瞬间修改图片容器的left值,使其修正到真正的第一张/最后一张图片。left=-600或left=-600*真正的图片个数。
3.点击小圆点切换图片
修改nextPage()函数,根据形参类型判断总偏移量offset的值,如果参数是布尔值,原offset不变,如果参数是数值,offset=-PAGE_WIDTH*(当前索引值-前一个显示的小圆点的索引值)。
修改小圆点更新函数updatePoint(),根据形参判断当前应该显示的小圆点的索引值index,如果参数是布尔值,原index值不变,如果是数值,是index=当前点击的小圆点的索引值。
在小圆点的click事件的回调函数中调用nextPage()函数,传入当前小圆点的索引值。
4.鼠标无操作时图片自动轮播
首先创建定时器,在定时器的回调函数中调用页面切换函数go()。然后为外部容器绑定hover事件,鼠标移入时,关闭自动翻页定时器,鼠标移出时开启自动翻页定时器。
4.问题:制作输入框时,采用多种方法始终无法达到目标效果,多种内容出现无规则重叠!
解决:采用五层div嵌套,将“宝贝”标识放入span中;同时采用类选择器和子代选择器对div盒子进行背景和大小的控制;此处搜索栏背景,本项目通过 background-image: linear-gradient(to right,#ff9000 0,#ff5000 100%)实现了背景颜色的渐变。同时为了使div元素和span元素横向排列,在最外层设置浮动属性,即float:left。
在第五部分“个人日志”中有详细叙述,此处不做详细叙述。
在最初设计页面布局的时候,时常出现页面过于集中或过于分散的问题。思考观察了很久后发现,因很多页面元素需横向排列的需要,在大多数外层div元素中都设置了浮动,但却在换行时却忽略了此因素,造成过乱的布局。此问题,应通过在换行的第一个个div元素中利用选择器中的clear属性来进行浮动的取消,即clear:both。
附部分源码
张氏淘宝网用户登录
*{
margin: 0;
padding: 0;
font-size: 14px;
}
li{
list-style: none;
}
a{
text-decoration: none;
color: #222;
}
body{
font-size: 14px;
width: 100%;
height: 3500px;
background: url("./img/body.png")no-repeat;
background-size: 100% 100%;
background-position: 0 0;
}
/* 头部开始 */
.site-nav{
width: 100%;height: 36px;
background-color: #f5f5f5;
line-height: 36px;
text-align: center;
}
/* 后代选择器 */
.site-nav li a{
color: #222;
}
/* 下拉框 */
.site-nav-center>ul>li:hover>a{
color: #ff5a00;
}
.site-nav-center{
position: relative;
width: 1190px;
margin-left: auto;
margin-right: auto;
}
.site-nav-center-l{
position: absolute;
left:0;top:0;
}
.site-nav-center li{
position: relative;
}
/* 伪选择器 */
.site-nav-center li:hover .site-nav-menu{
display: block;
z-index:200;
}
.site-nav-menu{
display: none;
position: absolute;
top:36px;left:0;
height: 100px;
background-color: #ffffff;
overflow: scroll;
}
#wangzhan{
display: none;
z-index: 300;
overflow: hidden;
position: absolute;
right: 0;
left: auto;
width: 988px;
min-height: 258px;
line-height: normal;
border: 1px solid #eee;
background: #fff;
}
/* 子选择器 :选择子标签 */
#wangzhan>li{
float: left;
font-size: 14px;
font-weight: 700;
padding-top: 5px;
width: 20%;
height: 25px;
overflow: hidden;
}
.site-nav-center li:hover #wangzhan{
display: block;
}
.site-nav-menu li{
width: 100px;
height: 30px;
padding-left:20px;
line-height: 30px;
background-color: #fff;
text-align: left;
}
.site-nav-menu li:hover{
background-color: #f4f4f4;
}
.site-nav-center-l li{
padding-left: 20px;color: #6c6c6c;
float: left;
}
.site-nav-center-r{
position: absolute;
top:0;
right: 0;
width: 754px;
height: 30px;
}
.site-nav-center-r li{
padding-right: 20px;color: #6c6c6c;
float: left;
}
/* 头部结束 */
.main{
width: 1190px;
margin-left: auto;
margin-right: auto;
}
.search{
position: relative;
width: 100%;height: 120px;
}
.logo{
position: absolute;
left:0px;top:1px;
width: 190px;height: auto;
}
.ewm{
position: absolute;
right:96px;
top:20px;
width: 76px;
height: 90px;
text-align: center;
background-color: #fff;
}
.ewm>a{
color:#f05633;
}
.ewm>img{
width: 62px;
height: 62px;
}
.search-wrap{
position: relative;
left: 22%;
top:20px;
}
.search-bd{
position: relative;
width: 630px;height: 42px;
background: #fff;
border-radius: 20px;
margin-top: 12px;
border: 1px solid #ff5000;
}
.search-triggers{
position: absolute;
left: 0;
top: 0;
z-index: 200;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
margin-left: 0;
height: 40px;
background: #fff;
width: 74px;
}
.search-triggers span{
padding:20px;
line-height: 40px;
text-align: center;
}
.search-triggers-list{
display: none;
position: absolute;
top:32px;
background-color: #fff;
}
.search-triggers-list li{
height: 38px;line-height: 38px;
background-color: #fff;
padding:0 20px;
}
.search-triggers:hover .search-triggers-list{
display: block;
}
.search-input-box{
position: absolute;
left:75px;top:0px;
}
.search-input-box input{
width: 200px;height: 40px;
background: url("./img/sousuo.png")no-repeat;
background-position: 10px 10px;
background-size: 20px 20px;
padding-left:34px;
border:none;
outline: none;
color:#9c9c9c;
}
.search-button{
position: absolute;
margin-top: 3px;
width: 73px;
height: 34px;
border-radius: 20px;
right: 3px;
/* 渐变背景 */
background-image: linear-gradient(to right,#ff9000 0,#ff5000 100%);
background-repeat: repeat-x;
font-size: 18px;
font-weight: 700;
color: #FFF;
line-height: 34px;
text-align: center;
cursor: pointer;
border: none;
}
.search-list{
position: absolute;
top:45px;
}
.search-wrap li{
float: left;
padding-left: 10px;
}
/* 搜索部分结束 */
.main-top{
width: 1190px;height: 40px;line-height: 40px;
text-align: center;
}
.main-top>ul>li:hover>a{
color: #ff5a00;
}
.main-top ul li{
float: left;padding-left:20px;
}
#ztsc{
width: 190px;
overflow: hidden;
text-align: left;
}
#ztsc a{
color: #ff741e;
font-weight: 700;
font-size: 16px;
padding-left:30px;
}
.tm a{
color: #ff3761;
font-weight: 700;
font-size: 16px;
}
.main-content{
width: 1190px;
height: 3000px;
position: relative;
margin-left: auto;
margin-right: auto;
overflow: hidden;
background-color: #fff;
border-radius:15px 15px 15px 15px;
}
.main-content .main-top .jhs a{
color: #ff0036;
font-weight: 700;
font-size: 16px;
}
.main-content .main-top .tmcs a{
color: #33c900;font-size: 16px;
font-weight: 700;
}
.main-content .main-top .main-content{
width: 100%;
}
.main-content1{
width: 1190px;
height: 528px;
}
.service-list{
position: relative;
clear: both;
width: 190px;height: 525px; float: left;
background-color: #ffffff;
}
.service-list li{
line-height: 32px;
height: 32px;
padding-left: 25px;
padding-right: 19px;
padding-top: 1px;
padding-bottom: 1px;
font-size: 14px;
font-weight: 400;
width: 145px;
color: #666;
overflow: hidden;
}
.service-list li a{
float: left;
}
.service-list li:hover{
background-color: #ffe4dc;
color: #ff5000;
}
.service-list>ul>li:hover .service-list-t{
color: #ff5000;
}
.xiangyou{
float: right;
margin-top:8px;
width: 18px;height: 18px;
margin-right: 2px;
}
.service-detail{
display: none;
position: absolute;
background-color: #fff;
left:190px;
top:0;
width: 700px;
height: 518px;
border-radius: 10px;
z-index: 100;
border: 1px solid #ff5a00;
}
.service-list li:hover .service-detail{
display: block;
}
.core{
width: 520px;
height: 512px;
float: left;
overflow: hidden;
margin-left:10px;
margin-top:10px;
}
/* 轮播图开始 */
.box a {text-decoration: none;color: rgb(200, 200, 200);}
.box{ width: 520px;height: 280px;margin: 0px auto;overflow: hidden;position: relative;}
.box-1 ul li{width:520px;height: 280px;position: relative;overflow: hidden;}
.box-1 ul li img{display:block;width:520px; height: 280px;
border-radius: 12px;}
.box-2{position: absolute;right: 10px;bottom: 14px;}
.box-2 ul li{float:left;width: 12px;height: 12px;overflow: hidden; margin: 0 5px; border-radius: 50%;
background: rgba(0,0,0,0.5);text-indent: 100px;cursor: pointer;}
.box-2 ul .on{background: rgba(255, 80, 0);}
.box-3 span{
display: none;
position: absolute;
color: white;
background: rgba(0,0,0,.5);
width: 40px;height: 40px;
top:50%;
font-family: "宋体";
line-height: 40px;
font-size:18px;
margin-top: -40px;
text-align: center;
cursor: pointer;}
.box-3 .prev{left: 0px;}
.box-3 .next{right: 0px;}
.box-3 span::selection{
background: transparent;
}
.box-3 span:hover{background: rgba(125,125,125,.8);}
.box:hover .box-3 span{
display: block;
}
/* 轮播图结束 */
.Tmall{
width: 100%;height: 230px;
/* background-color: green; */
}
.Tmall-title{
width: 100%;
height: 40px;
text-align: center;
}
.Tmall-title>img{
float: left;
width: 82px;height: auto;
margin-top: 10px;
}
.Tmall-title>span{
float: left;
font-size: 12px;
color: #999;
padding-top:12px;
padding-left:6px;
}
.Tmall-detail{
width: 100%;
height: 190px;
/* background-color: pink; */
overflow: hidden;
}
.Tmall-detail img{
float: left;
width: 240px;height: auto;
margin-left:15px;
border-radius: 10px;
}
.sub-column{
width: 160px;height: 512px;
/* background-color: yellow; */
float: left;
margin-left: 10px;
margin-top: 10px;
}
.tbh-focus {
overflow: hidden;
height: 280px;
width: 100%;
background-color: #fff;
border-radius: 12px;
}
.focus-img{
border-radius: 12px;
width: 100%;
height: auto;
}
.hb-tanx-down {
margin-top: 1px;
width: 100%;
}
.hb-tanx-down h5{
font-size: 12px;
font-weight: 400;
color: #a1a1a1;
line-height: 24px;
}
.hb-tanx-down img{
width: 100%;
height: auto;
border-radius: 12px;
}
.col-right {
float: right;
width: 290px;
height: 512px;
margin-top: 10px;
/* background-color: red; */
}
.member {
width: 100%;
height: 200px;
/* padding-right: inherit; */
text-align: center;
background-repeat: no-repeat;
}
.tx>img{
border-radius: 50%;
}
.member-bd-jb{
width: 226px;
height: 26px;
margin:0 auto;
}
.member-bd>ul>li{
float: left;
background-color: #ffe4db;
margin-left: 5px;
border-radius: 9px;
}
.member-bd-jb .jb{
float: left;
width: 16px;height: 16px;
margin-top: 2px;
background: url("./img/mb.png")no-repeat;
background-position: 0px -573px;
}
.member-bd-jb .jb2{
float: left;
width: 16px;height: 16px;
margin-top: 2px;
background: url("./img/mb.png")no-repeat;
background-position: 0px -529px;
}
.member-bd>ul>li a{
float: left;
padding-left:3px;
padding-right:5px;
color: #ff6904;
}
.member-bd-btnbox{
width: 256px;
margin-left: auto;
margin-right: auto;
}
.member-bd-btn{
float: left;
width: 79px;height: 26px;
color: #fff;
background-color: #ff6b05;
line-height: 26px;
margin-left:6px;
border-radius: 4px;
text-align: center;
}
.tbn-tipoff>img{
margin-top: 15px;
height: 65px;
width: 290px;
}
.min{
width: 290px;
height: 70px;
/* background-color: yellow; */
}
.min>span{
color: #ff6b05;
}
.min>ul{
position: relative;
}
.min>ul>li{
float: left;
width: 58px;
height: 25px;
line-height: 25px;
text-align: center;
/* margin-left:10px; */
}
.min>ul>li:hover{
border-bottom: 2px solid #ff6b05;
}
.min>ul>li a{
font-weight: 700;
}
.min>ul>li a:hover{
color:#ff6b05;
}
.min-detail{
display: none;
position: absolute;
top: 28px;
left:0;
background-color:#fff;
width: 290px;
height: 40px;
color: #ff6b05;
}
.min>ul>li:hover .min-detail{
display: block;
}
.conve{
width: 290px;
height: 72px;
/* overflow: hidden; */
z-index: -2;
/* background-color: pink; */
}
.conve ul{
position: relative;
}
.conve li{
float: left;
width: 70px;
height: 70px;
border:1px solid #f4f4f4;
background-color: #fff;
}
.conve img{
margin:10px auto 0 0;
}
.conve p{
position: relative;
line-height: 20px;
padding-left: 12px;;
text-align: center;
}
.conve-detail{
z-index:500;
display: none;
position: absolute;
top:68px;
left: 0px;;
background-color: #fff;
border:1px solid #ff4400;
width: 286px;
height: 160px;
}
.conve>ul>li:hover{
border:1px solid #ff4400;
}
.conve>ul>li:hover .conve-detail{
display: block;
}
.App{
margin-top: 10px;
width: 290px;
height: 77px;
/* background-color: green; */
overflow: hidden;
}
.A-t{
color: #3C3C3C;
width: 100%;
height: 27px;
/* background-color: pink; */
line-height: 27px;
text-align: center;
}
.A-t1{
float: left;
font-weight: 700;
/* font-size: 16px; */
padding-left: 10px;
}
.A-t2{
float: right;
font-size: 12px;
padding-right: 10px;
}
.App>ul>li{
float: left;
width: 58px;
height: 50px;
text-align: center;
}
.App>ul>li>img{
width: 40px;height: 40px;
border-radius: 12px;
}
/* 第一部分结束 */
/* 第二部分开始 */
.main-content2{
width: 1190px;
height: 330px;
overflow: hidden;
margin:10px auto;
/* background-color: pink; */
}
.goods-hd{
float: left;
padding-left: 20px;
margin-top: 20px;
margin-bottom: 20px;
font-size: 24px;
color: #111;
font-weight: bold;
line-height: 24px;
}
.goods-hd2{
/* float: left; */
margin-top: 20px;
margin-left: 5px;
display: inline-block;
width: 72px;height: 26px;
/* background-color: #0795ed; */
background:#49b6fa;
background-image: linear-gradient(145deg, #49b6fa 0%, #0795ed 77%);
color: #fff;
line-height: 26px;
border-radius: 5px ;
text-align: center;
}
.goods-list {
width: 100%;
height: 310px;
background-color: #fff;
overflow: hidden;
}
.goods-list>ul li{
position: relative;
float: left;
border-radius: 12px 12px 0 0;
overflow: hidden;
width: 215px;height: 264px;
/* background-color: pink; */
margin-left: 20px;
border-radius: 12px;
}
.goods-img>img{
border-radius: 12px;
width: 215px;
height: 215px;
}
.goods-list>ul li:hover{
/* box-shadow:1px 2px 2px 3px #cccccc; */
box-shadow:0 15px 35px rgba(0,0,0,0.3);
}
.goods-list>ul li:hover .goods-img>img{
opacity: 0.7;
}
.goods-info{
overflow: hidden;
margin-left:10px;
}
.info-text1{
font-size: 16px;
color: #333333;
width: 100%;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
#info-text1{
font-size: 16px;
color: #333333;
width: 100%;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.goods-list>ul li:hover .info-text1{
color: #ff641e;
}
.info-text2{
margin-top: 8px;
font-size: 14px;
color: #999999;
/* letter-spacing: 0; */
line-height: 12px;
width: 190px;
padding-left:10px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
#info-text3::before{
content: "¥";
float: left;
padding-top:4px;
padding-left:5px;
font-size: 9px;
color: #ff4400;
}
#info-text3{
float: left;
font-size: 16px;
color: #ff4400;
}
#info-text4{
float: left;
padding-top:3px;
padding-left:5px;
color: #999999;
font-size: 14px;
}
.similar{
display: none;
position: absolute;
width: 100%;
height: 70px;
background-color: #fff;
left:0;bottom: 0;
border-radius: 0 0 12px 12px;
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.69) 12%, rgba(255, 255, 255, 0.97) 28%, #ffffff 47%);
}
.similar-detail{
position: absolute;
width: 200px;
line-height: 32px;
text-align: center;
height: 32px;
color: #fff;
margin-top:18px;
margin-left: 3.5%;
background: #FF5000;
background-image: linear-gradient(145deg, #ff9000 0%, #ff5000 77%);
border-radius: 16px;
font-size: 18px;
font-weight: normal;
}
.goods-list>ul li:hover .similar{
display: block;
background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.69) 12%, rgba(255, 255, 255, 0.97) 28%, #ffffff 47%);
}
/* 第二部分结束 */
/* 第三部分开始 */
.tbn-sale{
clear: both;
margin-left: 18px;
width: 100%;
height: 170px;
overflow: hidden;
}
.tbn-sale li{
float: left;
width: 375px;
margin:20px 11px 0 2px;
height: 130px;
overflow: hidden;
border: 1px solid #fff;
border-radius: 12px;
}
.tbn-sale li:hover{
border: 1px solid #ff5000;
}
.tbn-sale li img{
width: 100%;
height: auto;
}
.main-content5{
width: 1190px;
height: 60px;
text-align: center;
}
.end{
position: absolute;
bottom:0;
left:0;
width: 100%;
height: 250px;
/* background-color: pink; */
}
.end-box{
float: left;
overflow: hidden;
/* background-color: red; */
width: 220px;
height: 200px;
margin-right:50px;
margin-left:20px;
}
.end-box>img{
float: left;
margin-left:15px;
}
.end-box>span{
float: left;
padding-top:4px;
padding-left:10px;
font-size: 17px;
line-height: 30px;
text-align: center;
}
.end-detail{
clear: both;
margin-top:50px;
width: 100%;
height: 90px;
/* background-color: green; */
}
.end-detail>ul>li{
float: left;padding-left: 15px;
font-size: 14px;
color: #999999;
}
分享结束,感谢阅读!
水平有限,恳请指教~