基于HTML+CSS实现的可交互照片墙Web页面

article/2025/11/4 22:12:07

资源下载地址:https://download.csdn.net/download/sheziqiong/85723524
资源下载地址:https://download.csdn.net/download/sheziqiong/85723524

一、 实验目的

本次实验目为练习 HTML+CSS 的布局与样式,以及简单的交互

二、实验内容

制作一个可交互的照片墙,照片墙可以点击照片查看大图

三、实验步骤

1. 确定需求

照片墙是一个可以将照片按照一定的顺序排列的 Web 页面,基本要求是照片要合理的地排布在页面上,且照片的尺寸要合适,布局要整齐。

点击照片,可以在当前页面上方显示一个新的图层,其中显示这张照片的更大尺寸的图片。点击图层的其它位置可以隐藏该图层

可以向照片墙中添加照片

可以删除照片墙中的照片

可以替换照片墙的照片

页面要具有很好的过渡效果,且满足响应式设计,适应不同尺寸的设备

2.设计页面原型

根据需求,设计界面原型。

上方居中显示标题和作者

主题部分为网格化布局照片,使用空白作为网格线。在正常计算机浏览器上每行显示 4 张图片,默认初始有 12 张图片。在平板电脑(宽度小于 1024px 大于 690px)浏览器上每行显示 3 张图片。在手机(宽度小于 690px)浏览器上每行显示两张图片。且在页面右下位置有一个固定不动的添加图片按钮

底端显示提示信息

大图页面为灰色蒙层,蒙层上为一张图片。在蒙层右下位置有一个删除按钮和一个替换按钮

3. 实现布局

编写 index.html、index、CSS

关键技术:

主页面

Outside_block 中为页面主题部分,其中 title_block 为标题,有两个标题标签组成,photo_block 是图片,由 12 张初始组成,bottom_block 为底端提示,由两个文字标签组成

其中图片布局采用 flex 布局,具体样式为:

对于容器整体,采用多余元素换行显示,水平、竖直以及每行行内竖直均为居中

对于容器内的图片元素,采用百分比宽度 20% 设置图片宽度,同时确保每行显示 4 个图片。

其余样式不再赘述

加号按钮

在 outside_block 外设置一个 div 作为新增图片的按钮,其中放置一个加号的图片。此外还需要添加一个隐藏的组件,用于触发选择文件。因为 div 无法单纯通过点击事件调用选择文件的接口,因此将它的点击事件绑定到可以调用选择文件事件的 input 上。

具体样式为:

display:none 将 input 隐藏

position:fixed 将元素设为固定布局,固定在页面的某个位置,不随页面的移动而移动。同时设置为为 flex 容器,使其中的“+”号可以位于按钮的中央

大图图层

Big 为图层本身

Big_img 用于存放大图,其 src 为空,动态填入

两个按钮使用 button

Input 作用同上

伪类动作

对所有图片、按钮,使用:hover {cursor: pointer}使的当鼠标悬停时,变为指针

对图片,使用:hover{transform.scale(1.1)}设置鼠标悬停在图片上方时,图片略微放大以指示该图片

对三个按钮,使用:hover{transform: translateY(-4px)}设置鼠标悬停在按钮上方时,按钮向上浮动 4px 的效果

响应式设计

使用了 flex 布局,实现响应式设计

同时在中设置 viewport 视窗,限制移动端的视窗长度

4.实现交互

编写 index.js,使用 jQuery 编写

核心交互功能

添加图片

将按钮(.button)的点击事件绑定到隐藏的文件输入上(.button_hidden),并且监听选择文件改变事件 change。

利用 FileReader,对(id=“upload”)选择的文件 file,进行读取,并且使用 src 接收返回的图片 base64 格式编码(存放在 oFRevent.target.result)中。

在将或得到的 src 插入一个标签中,添加到 photo_block 最后

点击查看大图

为所有的图片添加点击事件 show,对于新增的 DOM 节点,由于 JS 的渲染特性为在加载时一次性渲染,因此无法绑定上述事件。使用 on 函数,监听未知 img 节点的点击事件,并绑定响应函数 show。并将触发点击事件的元素 id 存入全局变量中

传入参数为当前被点击的 DOM 对象,show 函数为:

首先获取被点击图片的 src,并将它赋给大图 big_img

再根据当前窗口的大小和图片的尺寸,设置大图的尺寸。若图片是宽大于高,则将宽设置为窗口宽度的 scale 倍,否则将高设置额为窗口高度为 scale 被,并等比例缩放。将新的宽度、高度赋予 big_img,并计算边距,赋予内部 div(.inner)

设置完成后,使用 fadeIn 将大图图层显示出来(“.big”)

对大图图层,设置隐藏函数 fadeOut 响应点击事件

删除图片:

直接使用 remove 删除。

替换图片:

原理同新增图片,拿到 src 后替换原有 src

四、实验结果

1.界面效果

  1. 添加图片后:

  1. 查看大图

  1. 平板电脑效果:

  1. 手机效果

在这里插入图片描述

资源下载地址:https://download.csdn.net/download/sheziqiong/85723524
资源下载地址:https://download.csdn.net/download/sheziqiong/85723524


http://chatgpt.dhexx.cn/article/gqgZu4LY.shtml

相关文章

web课程设计

作者:yyl 班级:量子通信 一、Laravel简述 Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。 二、Laravel的安装 L…

网易交互设计师微专业 C1 揭开交互神秘面纱

如果有需要视频资源的可以关注"AI产品经理人",回复关键字“网易交互设计微专业”获取下载链接~ Chapter1 揭开交互神秘面纱 第一章 揭开交互神秘面纱 产品设计开发流程和团队构成 产品设计开发六大步 交互设计师和产品经理的区别 交互设计影响用户体验…

网易交互设计师微专业C4 让页面更优雅

如果有需要视频资源的可以关注"AI产品经理人",回复关键字“网易交互设计微专业”获取下载链接~ Chapter4 让页面更优雅 第一章 你需要懂的视觉心理学 1. 为什么要懂视觉心理学? 原因1. 运用用户观察和思考的规律来设计界面;原因…

web实现全景图的交互展示

Web实现全景图的交互展示 不需要学习其他知识,小白也能实现全景图AR展示一、webVR全景图多种方案实现(aframe,Krpano,three,jquery-vrview等等)二、用krpano之前的一些知识准备三、krpano的购买、下载、注册四、做一个…

WEB UI设计规范

Web应用界面设计规范(Design Specification for Web UI) 主讲人:ARay 目录: 一、软件界面规范的重要性及其目的 二、用户体验为何如此重要 三、Web规范体系介绍 四、界面设计开发流程 五、应该遵循的基本原则 六、界面设计规范 …

Web 与 App 数据交互原理和实现

作者 | 张小虎 杏仁前端开发工程师,前 iOS 开发工程师,关注前端技术栈。 背景 点击图片查看大图已经成了用户浏览页面时的一种习惯,原生 App 往往都实现了这些图片处理功能(点击查看、缩放、保存、滑动浏览等)。对于 W…

人机交互-8-交互式系统设计

1. 设计框架 过早地把重点放在小细节、小部件和精细的交互上会妨碍产品的设计 先站在一个高层次上关注用户界面和相关行为的整体结构房屋设计举例 设计框架 定义高层次上的屏幕布局定义产品的工作流、行为和组织 1.1. 定义外形因素和输入方法 外形因素 设计什么样的产品&am…

人机交互-2-交互设计的原则与方法

交互设计的原则与方法 交互设计中的问题 尽量减少用户需要记忆的部分缺乏反馈 1. 目标Goal vs. 意图Intention 单个目标可对应多个意图 举例:删除文档中的部分内容的目标意图1:通过编辑菜单删除意图2:通过删除按钮删除每个意图可包含一系列活动 2. EEC模型 从用户视角探…

网页交互性设计

对于任何一个Web应用,与用户互动是最基本的要求。为Web应用增加交互性,最常用的方法,莫过于使用 Javascript 或 jQuery、AJAX 了。 本节不打算详细介绍这几种技术,只是简要介绍在网页版 word 中,如何使用这些技术来实…

web与服务器之间的信息交互,web客户端与服务器端如何进行交互

web客户端与服务器端如何进行交互 内容精选 换一换 开启了 Kerberos认证的安全模式集群,进行应用开发时需要进行安全认证。Kerberos这一名词来源于希腊神话“三个头的狗——地狱之门守护者”,后来沿用作为安全认证的概念,使用Kerberos的系统在设计上采用“客户端/服务器”结…

网易交互设计师微专业C5 交互设计测试与评估

如果有需要视频资源的可以关注"AI产品经理人",回复关键字“网易交互设计微专业”获取下载链接~ Chapter5 交互设计测试与评估 第一章 为什么要开展测试与评估 用户测试:请目标用户使用产品来完成任务,观察并记录用户使用产品的…

网易交互设计师微专业C3 规范信息架构与流程设计

如果有需要视频资源的可以关注"AI产品经理人",回复关键字“网易交互设计微专业”获取下载链接~ Chapter3 规范信息架构与流程设计 第一章 信息架构设计 (一)认知产品信息架构 定义: 信息架构设计是对信息进行结构…

【人机交互技术】Web界面设计

一、实验目的和要求 1)熟悉 Web 站点的信息交互模型和结构 2)熟悉 Web 界面设计的基本思想和原则 3)掌握 Web 界面设计的工具和技术 二、实验内容与步骤 1)实验内容: 要求根据 Web 界面设计的原则(简洁、一致性、对比度)&#…

尼尔森十大交互设计原则

前言 Jakob Nielsen(雅各布尼尔森)的十大交互设计原则。它们被称为“启发式”,因为它们是广泛的经验法则,而不是特定的可用性指导原则。因此,我们不能把它上升为一种标准,而是应该当做一种经验来学习&#…

人机交互-任务4:图形交互界面的设计(web)

文章目录 一、 题目二、 实验内容三、 方案设计四、 实验步骤与过程五、 实验结果与分析完整项目成品下载 一、 题目 目的 (1) 使用掌握的计算机语言完成图形界面的设计,熟悉图形用户界面设计的原则并运用到设计中。 (2) 通过用户友好界面的设计,使学生…

web交互设计模型

《信息架构中的常见模型》是整个“web交互设计方法”中的一部分: 本期的内容目的是分享和总结信息架构中一部分基本的交互模型。信息架构需要考虑内容和功能的建构,首先需要考虑怎样组织内容和功能的关系,也就是切 分内容,如何把一些动作和对…

交互设计文档示例_Web交互的重要性:提示和示例

网站创建涉及许多要素。 网站是与来自世界各地的用户进行交流的最佳媒介。 因此,至关重要的是,其设计方式应吸引用户并吸引其参与。 这是网站可以有效地覆盖其用户的时间。 设计师经常想知道使网站吸引人的秘密成分 。 设计和功能的结合是每个设计师都希…

计算机教改论文发在那家核心期刊,教改论文可以发表在哪些刊物上合适?

原标题:教改论文可以发表在哪些刊物上合适? 教师发表教改论文在考虑发表要求之余,都是希望自己的文章尽快见刊的,如果教师面临的是发表核心刊物的要求,那就做好一定的心理准备了,核心期刊没有容易发表的&am…

刊物论文级别

公开发表的论文分为六个级别是什么 ? (2014-04-18 15:35:20) 转载▼ 第一级-T类 特种刊物论文,指在《SCIENCE》和《NATURE》两本期刊上发表的论文。 第二级-A类:权威核心刊物论文,指被国际通用的SCIE、EI…