单页响应式 图片懒加载HTML页面

设计说明

  1. 响应式设计

    • 使用CSS Grid布局,根据屏幕宽度自动调整色块数量

    • 在不同设备上都有良好的显示效果

  2. 懒加载

    • 使用<img>标签的loading="lazy"属性实现原生懒加载

    • 图片在滚动到视口附近时才会加载

  3. 色块展示

    • 使用随机生成的色块作为内容展示

    • 每个色块都有独特的颜色和编号

    • 色块有悬停效果和阴影效果

  4. 分类展示

    • 将色块分为自然风光、城市建筑和抽象艺术三类

    • 每类都有独立的标题和网格布局

<!DOCTYPE html>
<html lang="zh-CN">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>响应式懒加载页面</title><style>* {margin: 0;padding: 0;box-sizing: border-box;}body {font-family: Arial, sans-serif;line-height: 1.6;background-color: #f4f4f4;}.container {max-width: 1200px;margin: 0 auto;padding: 20px;}.section {margin-bottom: 40px;}.section-title {text-align: center;margin-bottom: 20px;color: #333;font-size: 24px;}.color-grid {display: grid;grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));gap: 20px;margin-bottom: 40px;}.color-block {aspect-ratio: 1;border-radius: 8px;overflow: hidden;position: relative;box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);transition: transform 0.3s ease;}.color-block:hover {transform: translateY(-5px);}.color-block img {width: 100%;height: 100%;object-fit: cover;display: block;}.color-block-placeholder {width: 100%;height: 100%;background-color: #ddd;display: flex;align-items: center;justify-content: center;color: #999;font-size: 14px;}@media (max-width: 768px) {.color-grid {grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));}}@media (max-width: 480px) {.color-grid {grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));}}</style>
</head>
<body><div class="container"><h1 class="section-title">响应式懒加载色块展示</h1><div class="section"><h2 class="section-title">自然风光</h2><div class="color-grid" id="nature-grid"><!-- 色块将通过JavaScript动态添加 --></div></div><div class="section"><h2 class="section-title">城市建筑</h2><div class="color-grid" id="architecture-grid"><!-- 色块将通过JavaScript动态添加 --></div></div><div class="section"><h2 class="section-title">抽象艺术</h2><div class="color-grid" id="art-grid"><!-- 色块将通过JavaScript动态添加 --></div></div></div><script>// 模拟图片数据const imageDatas = [{ id: 1, color: '#FF5733', category: 'nature' },{ id: 2, color: '#33FF57', category: 'nature' },{ id: 3, color: '#3357FF', category: 'nature' },{ id: 4, color: '#F3FF33', category: 'nature' },{ id: 5, color: '#FF33F3', category: 'nature' },{ id: 6, color: '#33FFF3', category: 'nature' },{ id: 7, color: '#FF8C33', category: 'nature' },{ id: 8, color: '#33FF8C', category: 'nature' },{ id: 9, color: '#338CFF', category: 'nature' },{ id: 10, color: '#8CFF33', category: 'nature' },{ id: 11, color: '#FF338C', category: 'architecture' },{ id: 12, color: '#338CFF', category: 'architecture' },{ id: 13, color: '#8C33FF', category: 'architecture' },{ id: 14, color: '#FF8C33', category: 'architecture' },{ id: 15, color: '#33FF8C', category: 'architecture' },{ id: 16, color: '#8CFF33', category: 'architecture' },{ id: 17, color: '#33FF33', category: 'art' },{ id: 18, color: '#FF3333', category: 'art' },{ id: 19, color: '#3333FF', category: 'art' },{ id: 20, color: '#FFFF33', category: 'art' },{ id: 21, color: '#FF33FF', category: 'art' },{ id: 22, color: '#33FFFF', category: 'art' },{ id: 23, color: '#8C33FF', category: 'art' },{ id: 24, color: '#FF8C33', category: 'art' },{ id: 25, color: '#338CFF', category: 'art' },{ id: 26, color: '#8CFF33', category: 'art' }];// 创建色块元素function createColorBlock(item) {const block = document.createElement('div');block.className = 'color-block';block.style.backgroundColor = item.color;const img = document.createElement('img');img.src = `https://picsum.photos/seed/${item.id}/300/300`;img.alt = `色块 ${item.id}`;img.loading = 'lazy'; // 启用懒加载block.appendChild(img);return block;}// 初始化页面function initPage() {const grids = {'nature-grid': document.getElementById('nature-grid'),'architecture-grid': document.getElementById('architecture-grid'),'art-grid': document.getElementById('art-grid')};// 根据分类将色块添加到对应的网格中imageDatas.forEach(item => {const gridId = `${item.category}-grid`;const grid = grids[gridId];if (grid) {const block = createColorBlock(item);grid.appendChild(block);}});}// 页面加载完成后初始化window.addEventListener('load', initPage);</script>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/37619.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PDF文件转Markdown,基于开源项目marker

​ 首先我们来问下deepseek 为啥要选marker呢 基于深度学习&#xff0c;一看就逼格拉满。搞科研必备&#xff0c;效果应该不会太差。跟其他的阿猫阿狗工具没法比。 看下官网 https://github.com/VikParuchuri/marker ​ 一看头像是个印度佬&#xff0c;自吹——又快又好。…

【深度学习与大模型基础】第6章-对角矩阵,对称矩阵,正交矩阵

一、对角矩阵 对角矩阵&#xff08;Diagonal Matrix&#xff09;是一种特殊的方阵&#xff0c;其非对角线上的元素均为零&#xff0c;只有对角线上的元素可能非零。具体来说&#xff0c;对于一个 nn的矩阵 A[]&#xff0c;如果满足 则 AA 称为对角矩阵。对角矩阵通常表示为&am…

C语言 数据结构【动态顺序表】详解

引言 详细介绍了顺序表中各个接口的实现&#xff0c;一定要亲自动手敲一遍&#xff0c;要能想象出具体的图像 第一次敲可能不能完全靠自己敲出来&#xff08;很正常&#xff09;&#xff0c;过一段时间可以根据顺序表的原理敲第二遍 孰能生巧 一、线性表 在介绍顺序表之前先…

人脸表情识别系统分享(基于深度学习+OpenCV+PyQt5)

最近终于把毕业大论文忙完了&#xff0c;众所周知硕士大论文需要有三个工作点&#xff0c;表情识别领域的第三个工作点一般是做一个表情识别系统出来&#xff0c;如下图所示。 这里分享一下这个表情识别系统&#xff1a; 采用 深度学习OpenCVPyQt5 构建&#xff0c;主要功能包…

集成学习(下):Stacking集成方法

一、Stacking的元学习革命 1.1 概念 Stacking&#xff08;堆叠法&#xff09; 是一种集成学习技术&#xff0c;通过组合多个基学习器&#xff08;base learner&#xff09;的预测结果&#xff0c;并利用一个元模型&#xff08;meta-model&#xff09;进行二次训练&#xff0c…

tcping 命令的使用,ping IP 和端口

1. ‌Windows系统安装‌ ‌下载tcping工具‌&#xff1a;根据系统位数&#xff08;32位或64位&#xff09;下载对应的tcping.exe文件。‌安装步骤‌&#xff1a; 将下载的tcping.exe文件复制到C:\Windows\System32目录下。如果下载的是64位版本&#xff0c;需将文件名改为tcpi…

浅谈跨平台框架的演变(H5混合开发->RN->Flutter)

引言 这里分为四个阶段&#xff1a; 第一阶段 &#xff1a; 原生开发 第二阶段 &#xff1a; H5混合开发 第三阶段&#xff1a; 跨平台RN 第四阶段&#xff1a; 跨平台Flutter 正文 第一阶段&#xff1a; 原生开发 开发成本比较大 &#xff1a; 需要Android 和ios 开发两…

《TCP/IP网络编程》学习笔记 | Chapter 20:Windows 中的线程同步

《TCP/IP网络编程》学习笔记 | Chapter 20&#xff1a;Windows 中的线程同步 《TCP/IP网络编程》学习笔记 | Chapter 20&#xff1a;Windows 中的线程同步用户模式和内核模式用户模式同步内核模式同步 基于 CRITICAL_SECTION 的同步内核模式的同步方法基于互斥量对象的同步基于…

力扣45.跳跃游戏

45. 跳跃游戏 II - 力扣&#xff08;LeetCode&#xff09; 代码区&#xff1a; #include<vector> class Solution {public:int jump(vector<int>& nums) {int ans[10005] ;memset(ans,1e4,sizeof(ans));ans[0]0;for(int i0;i<nums.size();i){for(int j1;j…

深入理解 Collections.emptyList():优雅处理空列表的利器!!!

&#x1f680; 深入理解 Collections.emptyList()&#xff1a;优雅处理空列表的利器&#xff01;&#x1f527; 大家好&#xff01;&#x1f44b; 今天我们来聊聊 Java 中一个非常实用但容易被忽视的小工具——Collections.emptyList()。&#x1f389; 如果你经常需要返回一个…

SpringBoot教程(十四) SpringBoot之集成Redis

SpringBoot教程&#xff08;十四&#xff09; | SpringBoot之集成Redis 一、Redis集成简介二、集成步骤 2.1 添加依赖2.2 添加配置2.3 项目中使用之简单使用 &#xff08;举例讲解&#xff09;2.4 项目中使用之工具类封装 &#xff08;正式用这个&#xff09;2.5 序列化 &…

VC6.0图文安装教程

VC6.0图文安装教程 ​ 1、首先&#xff0c;右击安装包&#xff0c;以管理员身份运行 2、点击下一步 ​​​​ 3、点击下一步 4、选择安装路径&#xff0c;点击下一步 5、点击下一步 6、点击安装 7、安装ing 8、点击完成 至此&#xff0c;安装完成&#xff01;

用户说 | 零基础用通义灵码 AI 程序员开发个人笔记网站

作者&#xff1a;宋镇江&#xff0c;安阳幼儿师范高等专科学校数字媒体技术专业教师 通义灵码是一款基于通义大模型的智能编码辅助工具&#xff0c;支持自然语言生成代码、单元测试生成、代码注释生成等功能&#xff0c;兼容多种主流IDE和编程语言。对于零基础用户&#xff0c…

试验一 mybatis 入门操作

试验一 mybatis 入门操作 一 实验目的 1.掌握mybatis基础操作&#xff0c;包括如何在maven工程中引入依赖&#xff0c;创建mapper文件&#xff0c;核心配置文件&#xff0c;映射文件&#xff0c;并测试对数据库表基本的的CRUD操作&#xff1b; 2.掌握核心配置文件中几个重要标…

使用Gitee Go流水线部署个人项目到服务器指南

使用Gitee Go流水线部署个人项目到服务器指南 前言&#xff01;&#xff01;&#xff01; 本文解决的问题&#xff1a; 你有一台ECS服务器&#xff0c;你在上面部署了一个Java服务也就是一个jar&#xff0c;你觉着你每次手动本地打包&#xff0c;上传&#xff0c;在通过命令去…

LCCI ESG 中英联合认证国际分析师适合的岗位

LCCI ESG中英联合认证国际分析师领域热门岗位大揭秘&#xff01;&#x1f30d; 大家好&#xff01;今天我们来探讨LCCI ESG中英联合认证国际分析师领域的热门岗位&#xff0c;看看是否有适合你的选择。 1️⃣ LCCI ESG中英联合认证国际分析师报告专员&#xff1a;主要负责编制…

Compose 实践与探索十五 —— 自定义触摸

1、自定义触摸与一维滑动监测 之前我们在讲 Modifier 时讲过如下与手势检测相关的 Modifier&#xff1a; Modifier.clickable { } Modifier.combinedClickable { } Modifier.pointerInput {detectTapGestures { } }这里对以上内容就不再赘述了&#xff0c;直接去讲解更复杂的…

【Linux】Makefile秘籍

> &#x1f343; 本系列为Linux的内容&#xff0c;如果感兴趣&#xff0c;欢迎订阅&#x1f6a9; > &#x1f38a;个人主页:【小编的个人主页】 >小编将在这里分享学习Linux的心路历程✨和知识分享&#x1f50d; >如果本篇文章有问题&#xff0c;还请多多包涵&a…

LDAP从入门到实战:环境部署与配置指南(上)

#作者&#xff1a;朱雷 文章目录 一、LDAP 简介1.1. 什么是目录服务1.2. 什么是 LDAP1.3. LDAP的基本模型 二、Ldap环境部署2.1.下载软件包2.2.安装软件2.3.编辑配置文件2.4.启动服务 一、LDAP 简介 1.1. 什么是目录服务 目录是专门为搜索和浏览而设计的专用数据库&#xff…

《C++智能指针:建议使用 make_shared 代替 shared_ptr》

《C 智能指针&#xff1a;长达数十年的血泪史&#xff0c;一步步征服内存泄漏》-CSDN博客 shared_ptr<int> sp1(new int(10)); 这句代码实际存在两个内存开辟&#xff0c;一是开辟我们要托管的内存资源 &#xff0c;二是开辟引用计数的资源&#xff0c;引用技术也是new出…