页面设计任务 商品详情页

devtools/2024/10/18 16:52:54/

目录

成品:

任务描述

源码:

详细讲解:

1.导航栏讲解

2.主体部分

3.图像部分

4.评分部分

5.按钮部分

6.配置信息部分

7.响应式设计


成品:

任务描述

创建一个产品展示页面,包括以下内容:

  1. 网页结构:使用 HTML 标签构建页面的基本结构,包括导航栏、产品图片、产品描述、价格信息、购物车按钮等部分。
  2. 页面内容:页面中包括一个产品的图片、名称、详细描述、价格和“添加到购物车”按钮。
  3. 样式:使用 CSS 进行页面布局和样式设计,使用 CSS Flexbox 实现响应式设计,使页面在不同设备上看起来都很美观。
  4. 交互效果:为按钮添加悬停效果(hover),并使用伪类选择器添加一些简单的动画效果。

要求

  • 使用 HTML 创建网页的基本结构,包括 <!DOCTYPE html><html><head><body> 等标签。
  • 使用 CSS 修改页面的背景颜色、设置字体、图片大小和样式、按钮样式等。
  • 使用 CSS Flexbox 实现页面布局,使页面在不同尺寸的设备上都能良好显示。
  • 使用伪类选择器(如 :hover)为按钮添加悬停效果。
  • 使用媒体查询实现响应式设计。

源码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>产品详情页</title><style>body {margin: 0;padding: 0;background-color: #f4f4f4;color: #333;}/* 导航栏部分 */header{background-color:rgb(87, 87, 87);/* 固定显示 */position: fixed;top: 0px;width: 100%;}header ul{/* 去除无序列表的装饰 */list-style-type: none;display: flex;justify-content: center;padding: 0;margin: 0;}header li{margin: 0px 20px;}header a{color: white;text-decoration: none;padding: 15px 20px;display: block;}header ul li a:hover{background-color: rgb(137, 137, 137);}/* 主体部分 */.st1{            background-color: white;/* 居中对齐 */align-items: center;justify-content: center;margin-top: 100px;margin-right: 100px;margin-left: 100px;padding: 20px;/* 分栏显示 */display: flex;/* 左右两侧之间的间距 */gap: 60px;/* 圆角处理 */border-radius: 10px;/* 阴影 */box-shadow: 0 2px 4px rgba(0, 0, 0,0.4);}/* 图像部分 */.left img {max-width: 100%;border-radius: 8px;transition: transform 0.5s, background-color 0.5s;}.left img:hover {transform: scale(1.1);}/* 右侧部分 */.right{width: 500px;max-width: 100%;}/* 评分 */.a{background-color: rgb(195, 195, 195);width: 100%;height: 15px;border-radius: 5px;margin: 10px 0;}.b{background-color: green;height: 15px;text-align: center;color: aliceblue;}/* 小字部分 */.st2{margin-top: 0px;/* 分两侧显示 */display: flex;justify-content: space-between;}.st2 div{font-size: small;color: rgb(62, 62, 62);}/* XYZ官网链接 */.website a{font-size: small;color: rgb(61, 156, 175);/* 去除下划线 */text-decoration: none;}/* 价格一行 */.st3{align-items: center;/* 分两侧显示 */display: flex;/* 设置两则中间为空格 */justify-content: space-between;}/* 添加到购物车按钮 */.st3 .button1{background-color: rgb(241, 241, 82);border: none;border-radius: 10px;padding: 15px;font-weight: bold;/* 鼠标选中时,鼠标转化为指针 */cursor: pointer;}.st3 .button1:hover{background-color: rgb(222, 193, 27);}/* 现在购买按钮 */.st3 .button2{background-color: rgb(255, 140, 0);border: none;border-radius: 10px;padding: 15px;font-weight: bold;cursor: pointer;}.st3 .button2:hover{background-color: rgb(188, 104, 2);}/* 价格显示 */.st3 .piece{color: red;font-size: 30px;}.st3 .text{font-size: large;}/* 配置表格 */table{width: 100%;/* 单元格之间没有间隙,连成一条线 */border-collapse: collapse;}table .c {/* 加粗 */font-weight: bold;width: 30%;}table td {padding: 10px;border-bottom: 1px solid #ccc;}/* 响应式设计 */@media (max-width: 768px) {.st1 {flex-direction: column;gap: 20px;margin:0px 10px 20px 10px;padding: 15px;}header{position: unset;}header ul {flex-direction: column;}header li{margin: 0;}.button1, .button2 {width: 100%;padding: 10px;}}</style></head>
<body><header><ul><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></ul></header><section class="st1"><div class="left"><div><img src="https://m.media-amazon.com/images/I/815uX7wkOZS._AC_SX679_.jpg" alt="图片加载失败"></div></div><div class="right"><h3>XYZ 超轻薄笔记本电脑 AI超能本</h3><p style="font-size: larger;">XYZ 14 笔记本电脑,英特尔赛扬 N4020,4 GB RAM,64 GB 存储,14 英寸微边高清显示屏,Windows 11 家庭版,轻薄便携,4K 显卡,一年 Microsoft 365(14-dq0040nr,雪花白)</p><p class="website"><a href="#www.XYZ.com">访问XYZ官网</a></p><p><div class="a"><div class="b" style="width: 89%; font-size: 10px; ">89%好评</div></div></p><div class="st2"><div>英特尔赛扬|4G+512G|快速充电</div><div>已售20万+</div></div><hr><div class="st3"><div style="display: flex; align-items: center;"><p class="piece">¥6999</p><p class="text">到手价</p></div><div><div style="display: flex; align-items: center;"></div><button type="submit" class="button1">添加到购物车</button><button type="submit" class="button2">现在购买</button></div></div><table cellspacing="10"><tr><td class="c">品牌</td> <td>XYZ</td></tr><tr><td class="c">型号名称</td> <td>14-dq0040nr</td></tr><tr><td class="c">屏幕大小</td><td>14英寸</td></tr><tr><td class="c">颜色</td><td>雪花白</td></tr><tr><td class="c">硬盘大小</td><td>512GB</td></tr><tr><td class="c">CPU型号</td><td>Celeron N4020</td></tr><tr><td class="c">运行内存</td><td>4GB</td></tr><tr><td class="c">操作系统</td><td>Windows 11 S</td></tr><tr><td class="c">特殊</td><td>微边边框</td></tr><tr><td class="c">显卡</td><td>集成显卡</td></tr></table></div></section></body>
</html>

详细讲解:

1.导航栏讲解

css">/* css导航栏部分 */header{background-color:rgb(87, 87, 87);/* 固定显示 */position: fixed;top: 0px;width: 100%;
}
header ul{/* 去除无序列表的装饰 */list-style-type: none;display: flex;justify-content: center;padding: 0;margin: 0;
}
header li{margin: 0px 20px;
}header a{color: white;text-decoration: none;padding: 15px 20px;display: block;
}header ul li a:hover{background-color: rgb(137, 137, 137);
}
<header><ul><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></ul>
</header>

(1). 导航栏的固定显示:position: fixed; 要掌握导航栏的创建。

2.主体部分

css">/* 主体部分 */
.st1{            background-color: white;/* 居中对齐 */align-items: center;justify-content: center;margin-top: 100px;margin-right: 100px;margin-left: 100px;padding: 20px;/* 分栏显示 */display: flex;/* 左右两侧之间的间距 */gap: 60px;/* 圆角处理 */border-radius: 10px;/* 阴影 */box-shadow: 0 2px 4px rgba(0, 0, 0,0.4);
}

(1).align-items: center;justify-content: center;的使用,表示居中。display: flex;表示并列显示;gap: 60px;表示每一部分之间的间距;

3.图像部分

css">/* css图像部分 */
.left img {max-width: 100%;border-radius: 8px;transition: transform 0.5s, background-color 0.5s;
}.left img:hover {transform: scale(1.1);
}
<div class="left"><div><img src="https://m.media-amazon.com/images/I/815uX7wkOZS._AC_SX679_.jpg" alt="图片加载失败"></div>
</div>

 (1).transition: transform 0.1s, background-color 0.3s;

css">transition: [property] [duration] [timing-function] [delay];
  • property:指定要应用过渡效果的 CSS 属性。可以是单个属性,也可以是多个属性,用逗号分隔。
  • duration:指定过渡效果的持续时间(时间单位如秒 s 或毫秒 ms)。
  • timing-function:指定过渡效果的时间曲线。
  • delay:指定过渡效果的延迟时间(时间单位如秒 s 或毫秒 ms)。

(2).transform: scale(1.03)

        transform: scale(1.03)是 CSS 的一个变换属性,用于缩放元素。 scale() 函数是 transform 属性的一部分,用于改变元素的大小,而不改变其实际布局或位置。scale()括号中的值大于1表示放大,小于1表示缩小。

transform常用值

  • translate(x, y):移动元素的位置。
  • rotate(angle):旋转元素。
  • scale(x, y):缩放元素的大小。
  • skew(x, y):倾斜元素。
  • matrix(a, b, c, d, e, f):应用 2D 转换矩阵。

4.评分部分

css">/* 评分 */
.a{/* 进度条底色 */background-color: rgb(195, 195, 195);width: 100%;height: 15px;/* 圆角处理 */border-radius: 5px;margin: 10px 0;
}
.b{/* 进度条进度颜色 */background-color: green;height: 15px;text-align: center;color: aliceblue;
}
<p><div class="a"><div class="b" style="width: 89%; font-size: 10px; ">89%好评</div></div>
</p>

(1).掌握进度条如何构建即可。

5.按钮部分

css">/* 添加到购物车按钮 */
.st3 .button1{/* 按钮颜色 */background-color: rgb(241, 241, 82);/* 去除按钮边框 */border: none;/* 圆角处理 */border-radius: 10px;padding: 15px;/* 字体加粗 */font-weight: bold;/* 鼠标选中时,鼠标转化为指针 */cursor: pointer;
}.st3 .button1:hover{background-color: rgb(222, 193, 27);
}/* 现在购买按钮 */
.st3 .button2{/* 按钮颜色 */background-color: rgb(255, 140, 0);/* 去除按钮边框 */border: none;/* 圆角处理 */border-radius: 10px;padding: 15px;/* 字体加粗 */font-weight: bold;/* 鼠标选中时,鼠标转化为指针 */cursor: pointer;
}
.st3 .button2:hover{background-color: rgb(188, 104, 2);
}
<div><div style="display: flex; align-items: center;"></div><button type="submit" class="button1">添加到购物车</button><button type="submit" class="button2">现在购买</button>
</div>

(1).见代码解释。

6.配置信息部分

css">/* 配置表格 */
table{width: 100%;/* 单元格之间没有间隙,连成一条线 */border-collapse: collapse;
}
table .c {/* 加粗 */font-weight: bold;width: 30%;
}table td {padding: 10px;/* 单位格底线设置 */border-bottom: 1px solid #ccc;
}
<table><tr><td class="c">品牌</td> <td>XYZ</td></tr><tr><td class="c">型号名称</td> <td>14-dq0040nr</td></tr><tr><td class="c">屏幕大小</td><td>14英寸</td></tr><tr><td class="c">颜色</td><td>雪花白</td></tr><tr><td class="c">硬盘大小</td><td>512GB</td></tr><tr><td class="c">CPU型号</td><td>Celeron N4020</td></tr><tr><td class="c">运行内存</td><td>4GB</td></tr><tr><td class="c">操作系统</td><td>Windows 11 S</td></tr><tr><td class="c">特殊</td><td>微边边框</td></tr><tr><td class="c">显卡</td><td>集成显卡</td></tr></table>

(1). border-bottom: 1px solid #ccc;设置单元格底线为实线;border-collapse: collapse;去除间隙。

7.响应式设计

css">/* 响应式设计 */
/* 当宽度小于768时,就会生效 */
@media (max-width: 768px) {.st1 {/* 将拍板为竖式排版 */flex-direction: column;gap: 20px;margin:0px 10px 20px 10px;padding: 15px;}header{position: unset;}header ul {/* 将拍板为竖式排版 */flex-direction: column;}header li{margin: 0;}.button1, .button2 {width: 100%;padding: 10px;}
}

(1).当用手机端打开网页时,能够正常观看。



http://www.ppmy.cn/devtools/99292.html

相关文章

stable diffusion和GAN网络的区别,优点缺点是什么

稳定扩散&#xff08;stable diffusion&#xff09;和生成对抗网络&#xff08;GAN&#xff09;是两种不同的深度学习方法。 稳定扩散是一种无监督学习方法&#xff0c;用于图像超分辨率重建。它基于扩散过程模型&#xff0c;通过在不同的时间步骤中对图像进行重建来增加分辨率…

在Flux和Ideogram 2.0的竞争压力下,Midjourney每日开放25张免费额度

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

Spring-SpringUtils工具类

SpringUtils 通常是一个工具类,用于辅助与 Spring 框架相关的操作。它包含了多种方法,以方便 地从 Spring 容器中获取 Bean、处理事务、进行反射操作等。 下面是一个较为全面的 SpringUtils 工具类实现示例: import org.springframework.aop.framework.AopContext; impor…

斗破C++编程入门系列之十四:C++程序设计必知:作用域和可见性

斗破C目录&#xff1a; 斗破C编程入门系列之前言&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之二&#xff1a;Qt的使用介绍&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之三&#xff1a;数据结构&#xff08;斗之气三段&#xff09; 斗破C编程入门系列之…

12、深入解析阻塞队列BlockingQueue

深入解析阻塞队列BlockingQueue 阻塞队列介绍队列Queue接口阻塞队列应用场景 JUC包下的阻塞队列 ArrayBlockingQueueArrayBlockingQueue使用ArrayBlockingQueue的原理数据结构入队put方法为什么ArrayBlockingQueue对数组操作要设计成双指针&#xff1f;出队take方法 LinkedBloc…

自动操作一键数据恢复/电子取证

对磁盘模拟扫描修复丢失数据的实验。 先挂载题目磁盘VHD。 Windows系统中打开磁盘管理&#xff0c;-操作&#xff0c;-附加VHD 可以看到已经加载出题目磁盘&#xff0c;接下来打开RStudio数据恢复软件&#xff0c;对其进行扫描。 操作找回丢失/被删除的数据 可以看到已经加载出…

C++ 编译和运行的过程中文件的扩展名

在 C 编译和运行的过程中&#xff0c;文件的扩展名会随着每个步骤的进展而发生变化。以下是一个典型的 C 编译和运行过程&#xff0c;以及每一步中文件扩展名的变化&#xff1a; 1. 源代码文件&#xff08;.cpp 或 .h&#xff09; 源代码文件: C 源代码文件通常以 .cpp 作为扩…

Windows:Node.js下载与安装教程

1、进入nodejs官网&#xff1a;https://nodejs.org/en 2、配置系统参数 3、运行cmd&#xff0c;输入 node -v 出现安装版本即安装成功