前端练习项目——品优购 Day9 列表页搭建

2024-03-13 10:50

本文主要是介绍前端练习项目——品优购 Day9 列表页搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1)列表页面是新的页面,我们需要新建页面文件list.html。

(2)他因为列表页的头部和底部与index.html基本一致,所以要把首页中的头部和底部结构复制过去。

(3)头部和底部的样式也需要,因此list.html还需要引入common.css

(4)需要新的list.css样式文件,这是列表页专门的样式文件。

(5)还需要把meta的内容移植过来,更改一下即可。

<meta name="description"content="品优购 - 亚洲较大的网上交易平台,提供各类服饰、美容、家居、数码、话费/点卡充值… 数亿优质商品,同时提供担保交易(先收货后付款)等安全交易保障服务,并由商家提供退货承诺、破损补寄等消费者保障服务,让你安心享受网上购物乐趣!" /><meta name="keyword"content="网上购物,C2C,在线交易,交易市场,网上交易,交易市场,网上买,网上卖,购物网站,团购,网上贸易,安全购物,电子商务,放心买,供应,买卖信息,网店,一口价,拍卖,网上开店,网络购物,打折,免费开店,网购,频道,店铺" /><title>品优购列表页</title>

引入的内容: 

 

1.修改header头部

(1)结构分析

其实就是在logo盒子旁边加上一个盒子,里面放一张图片,再加上一个左边框。 

<!-- 秒杀盒子制作 -->
<div class="miaosha"><img src="images/miaosha.png">
</div>

 (2)盒子的CSS代码

.miaosha {position: absolute;left: 190px;top: 40px;border-left: 1px solid #c81523;padding: 3px 0 0 14px;
}

用定位把盒子放在正确的位置,加上左边框,用padding修饰图片位置。

(3)img的CSS代码

.miaosha img {width: 55px;height: 38px;
}

       如果不修图片的大小,图片是可以超出父盒子边界的。同时,图片超不超出边界与父盒子是否设立宽高没有关系(也就是有宽高的盒子是不会限制插入的图片大小的,但是可以限制背景图片)

2.修改nav导航栏

 (1)结构分析

         整体是一个大盒子(版心),大盒子里面总共有两个盒子,左边是miaosha_list,右边是miaosha_con,盒子里有多个li。

<!-- nav模块制作 --><div class="nav"><div class="w"><div class="miaosha_list"><ul><li><a href="#">品优秒杀</a></li><li><a href="#">品优秒杀</a></li><li><a href="#">品优秒杀</a></li></ul></div><div class="miaosha_con"><ul><li><a href="#">女装</a></li><li><a href="#" class="style_red">手机</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">更多分类<span class="iconfont">&#xe612;</span></a></li></ul></div></div></div>

 (2)左侧盒子miaosha_list制作

 用ul li a结构制作即可。

<div class="miaosha_list"><ul><li><a href="#">品优秒杀</a></li><li><a href="#">品优秒杀</a></li><li><a href="#">品优秒杀</a></li></ul>
</div>

盒子和li都加上左浮动

.miaosha_list {float: left;
}.miaosha_list ul li {float: left;
}

1.a的CSS代码

.miaosha_list ul li a {display: block;line-height: 47px;padding: 0 30px;color: #000;font-size: 16px;font-weight: 700;
}

       转换为块级元素,用padding拉开间距(参考nav导航栏,为了增大点击面积),修改字体大小与粗细。

(3)右侧盒子miaosha_con制作

 同样的ul li a结构

            <div class="miaosha_con"><ul><li><a href="#">女装</a></li><li><a href="#" class="style_red">手机</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">女装</a></li><li><a href="#">更多分类<span class="iconfont">&#xe612;</span></a></li></ul></div>

miaosha_con盒子和li都要加上浮动:

.miaosha_con {float: right;
}.miaosha_con ul li {float: left;
}

1.a的CSS代码

.miaosha_con ul li a {display: block;line-height: 47px;font-size: 14px;padding: 0 20px;
}

转化为块级元素,调整字体位置,间距,大小即可。

3.列表页主体制作

(1)结构分析

整体是一个大盒子(miaosha_container),里面有上下两个盒子(miaosha_hd,miaosha_bd)

(2)miaosha_hd盒子制作

1.结构分析

其实就是盒子里面插入一张图片,图片宽度与父盒子相同(继承自版心)

<div class="miaosha_hd"><img src="upload/shouji.png">
</div>
.miaosha_hd img {width: 100%;
}

(3)miaosha_bd盒子制作

1.结构分析

         整体是一个大盒子(miaosha_bd),大盒子里面的每个li可以分为五部分——图片,说明,价格,进度条,按钮。其中价格和进度条可以放在一个盒子中。

  

2.对大盒子一些分析

        大盒子不要给高度,因为内容是不确定的。但子盒子(li)需要浮动,li一浮动就不占位置了,这样会影响下面的标准流盒子(也就是footer),因此需要清除浮动。

对下面盒子的影响: 

    3.清除浮动的方法

       在浮动元素的父元素中添加clearfix类即可。由于浮动的元素是li,因此可以在ul中添加。其中clearfix的CSS代码写在base.css中。

.clearfix:after {visibility: hidden;clear: both;display: block;content: ".";height: 0
}.clearfix {*zoom: 1
}
<ul class="clearfix">

4.li的CSS代码

.miaosha_bd ul li {float: left;border: 1px solid transparent;width: 290px;height: 460px;
}
.miaosha_bd ul li:hover {border: 1px solid #c81523;
}

向左浮动,给出宽度和高度。值得注意的是:li有一个透明的边框——因为鼠标放在上面需要生成一个红色的边框,如果刚开始没有边框的话会影响别的盒子的位置,导致看起来非常奇怪。

5.li里面商品图片img制作

<!-- 商品图片 -->
<img src="upload/iphone12.jpg">
.miaosha_bd ul li img {width: 100%;height: 295px;
}

宽度与父盒子相同,给出高度即可。

6.li里面文字说明盒子(pro_con)制作

<!-- 商品文字说明 -->
<div class="pro_con"><p>Apple iPhone 12 (A2404) 128GB 白色<br>支持移动联通电信5G 双卡双待手机</p>
</div>
.miaosha_bd ul li .pro_con {width: 100%;height: 50px;color: #747474;font-size: 12px;text-align: center;
}

给出宽度,高度,字体颜色,字体大小,字体位置。(字体类的样式都是可以继承的)

7.li里面折扣盒子(包括价格和进度条)制作

 

        这里给出了一种注释的写法——用start和end包围所做的模块,具体情况可以自己决定是否使用。 

.sale {position: relative;width: 100%;height: 65px;
}

sale_up盒子制作:

<div class="sale_up"><p>¥</p><h2>5999</h2><p id="nosale">¥6999</p>
</div>
.sale_up p {display: inline-block;font-size: 14px;color: #e60012;
}
.sale_up h2 {display: inline-block;font-size: 22px;color: #e60012;
}

       因为p是块级元素,h2也是块级元素,但是‘¥’要和‘5999’放在一起,因此p和h2都需要转化为行内块元素(或行内元素,反正外面有sale_up盒子与下面的sale_bot隔开)。

曾经价格的做法:

#nosale {font-size: 14px;color: #a4a4a4;text-decoration: line-through;padding-left: 10px;
}

正常的字体做出来,最后加上text-decoration:line-through即可。

sale_bot盒子制作:

<div class="sale_bot"><p>已售88%</p><div class="sale_cen"></div><p id="sale_le">剩余<span>31</span>件</p>
</div>

p的CSS代码:

.sale_bot p {position: absolute;top: 37px;left: 15px;color: #666666;font-size: 14px;
}

 用定位把盒子定到合适位置,修改字体样式。

 进度条的CSS代码:

.sale_cen {position: absolute;top: 41px;left: 78px;width: 132px;height: 12px;background-color: #ed282e;border-radius: 6px;
}

      定位定到合适位置,给出合资的宽和高,然后加上背景颜色,用border-radius改成类似圆即可。

 id的CSS代码:

#sale_le {position: absolute;top: 36px;left: 220px;
}

定个位就行了。

8.抢购按钮制作

<!-- 抢购按钮模块 -->
<button>立即抢购</button>
.miaosha_bd ul li button {height: 50px;width: 290px;background-color: #b1191a;color: white;font-size: 20px;
}

 宽高,背景颜色,字体颜色,字体大小。

这篇关于前端练习项目——品优购 Day9 列表页搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/Acc222222/article/details/119418829
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/804623

相关文章

springboot项目中使用JOSN解析库的方法

《springboot项目中使用JOSN解析库的方法》JSON,全程是JavaScriptObjectNotation,是一种轻量级的数据交换格式,本文给大家介绍springboot项目中使用JOSN... 目录一、jsON解析简介二、Spring Boot项目中使用JSON解析1、pom.XML文件引入依

如何搭建并配置HTTPD文件服务及访问权限控制

《如何搭建并配置HTTPD文件服务及访问权限控制》:本文主要介绍如何搭建并配置HTTPD文件服务及访问权限控制的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、安装HTTPD服务二、HTTPD服务目录结构三、配置修改四、服务启动五、基于用户访问权限控制六、

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

eclipse如何运行springboot项目

《eclipse如何运行springboot项目》:本文主要介绍eclipse如何运行springboot项目问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目js录当在eclipse启动spring boot项目时出现问题解决办法1.通过cmd命令行2.在ecl

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Windows Server 2025 搭建NPS-Radius服务器的步骤

《WindowsServer2025搭建NPS-Radius服务器的步骤》本文主要介绍了通过微软的NPS角色实现一个Radius服务器,身份验证和证书使用微软ADCS、ADDS,具有一定的参考价... 目录简介示意图什么是 802.1X?核心作用802.1X的组成角色工作流程简述802.1X常见应用802.

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1