您的当前位置:首页>全部资源>资源详情

纯CSS蜂巢式图片画廊效果

发布于:2025-01-01 00:00:00浏览:77次分类:JS特效 查看分享码

这是一款纯CSS蜂巢式图片画廊效果。该CSS蜂巢式图片画廊通过CSS网格布局,将图片以蜂巢的六边形进行布局,非常炫酷。

HTML代码
<div class="container" style="--n-rows: 3; --n-cols: 6">
  <style>.hex-cell:nth-of-type(5n + 1) { grid-column-start: 2 }</style>
  <div class="hex-cell"><img src="./img/1.jpg"/></div>
  <div class="hex-cell"><img src="./img/2.jpg"/></div>
  <div class="hex-cell"><img src="./img/3.jpg"/></div>
  <div class="hex-cell"><img src="./img/4.jpg"/></div>
  <div class="hex-cell"><img src="./img/5.jpg"/></div>
  <div class="hex-cell"><img src="./img/6.jpg"/></div>
  <div class="hex-cell"><img src="./img/7.jpg"/></div>
</div>

CSS代码

.container {
  --l: calc(100vw/var(--n-cols));
  --hl: calc(.5*var(--l));
  --ri: calc(.5*1.73205*var(--l));
  box-sizing: border-box;
  display: grid;
  place-content: center;
  grid-template: repeat(var(--n-rows), var(--l))/repeat(var(--n-cols), var(--ri));
  grid-gap: var(--hl) 0;
  overflow: hidden;
  margin: 0;
  padding: var(--hl) 0;
  height: 100vh;
  background: #262626;
  filter: drop-shadow(2px 2px 5px);
}
@media (orientation: landscape) {
  .container {
    --l: calc(100vh/(var(--n-rows) + 3));
  }
}

.hex-cell {
  overflow: hidden;
  grid-column-end: span 2;
  margin: calc(-1*var(--hl)) 0;
  transform: scale(0.95);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
}

img {
  --hl: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(calc(1 + .2*var(--hl)));
  filter: brightness(calc(.6*(1 + var(--hl))));
  transition: .7s;
}
img:hover {
  --hl: 1;
}

扫描下方二维码查看分享资源

纯CSS蜂巢式图片画廊效果
提取码:FRt6

声明:资源来源于网络,如有侵权请联系删除。

猜你喜欢

【Python】如何在Python中进行日志处理和调试的最佳实践和技巧
如何在Python中进行日志处理和调试的最佳实践和技巧引言在编写大型Python应用程序时,日志处理和调试是非常重要的,它们能够帮助我们追踪问题、诊断错误和改进代码。本文将介绍在Python中进行日志处理和调试的最佳实践和技巧,以及具体的代码示例。使用标准库loggingPython内置了一个日志处理模块-logging,它提供了一套全面的API来处理日志记录,使用起来非常方便。下面是一个基本的日志记录示例:import logging创建一个日志器logger&nbsp;=&nbsp;logg
发表于:2024-01-20 浏览:362 TAG:
【Redis】redis除了做缓存还能做什么
redis应该说是目前最受欢迎的nosql数据库之一了。redis通常被作为缓存组件,用作缓存数据。不过,除了可以缓存数据,其实redis可以做的事还有很多。下面列举几例,供大家参考。1、最新列表例如新闻列表页面最新的新闻列表,如果总数量很大的情况下,尽量不要使用select a from A limit 10,尝试redis的 LPUSH命令构建List,一个个顺序都塞进去就可以啦。不过万一内存清掉了咋办? &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(推荐学习:Red
发表于:2024-06-20 浏览:284 TAG:
【Redis】如何解决 Redis 大 Key(Big Key)问题
1. 什么是大 Key? 大 Key(Big Key) 指的是 单个 Key 的数据量特别大,通常体现在: 单个 String 类型的 Key 存储了超长的内容(如超大 JSON、Base64 图片)。 单个 List/Set/Zset/Hash 存储大量元素,导致: 查询效率下降(一次查询数据过多)。 删除或过期开销大(删除一个 Key 可能会卡 Redis)。 主从复制或数据持久化时阻塞 Redis(大 Key 影响 RDB、AOF 复制)。
发表于:2025-03-19 浏览:36 TAG: #redis
【PHP】php 实现打印文档功能
在许多网站中,我们经常会看到打印文档的功能,用户可以通过点击打印按钮将页面内容打印出来。传统的实现方式是通过浏览器自带的打印功能进行操作,但是这种方式存在很多弊端,比如样式不一致、图片显示异常等问题。为了解决这些问题,可以使用PHP来实现打印文档功能。实现思路使用PHP实现打印文档功能的基本思路是,将需要打印的内容通过服务器端的脚本转化为PDF文档,再通过浏览器下载或直接打印该PDF文件。具体实现步骤如下:1.获取需要打印的内容在PHP中,我们可以使用$_POST或$_GET获取需要打
发表于:2023-12-29 浏览:308 TAG:
【PHP】PHP8.1新特性大讲解之array_is_list功能
新array_is_list功能您可能偶尔不得不处理这个问题:确定数组的键是否按数字顺序排列,从索引 0 开始。就像json_encode决定数组应该被编码为数组还是对象一样。PHP 8.1 添加了一个内置函数来确定数组是否是具有这些语义的列表:$list&nbsp;=&nbsp;[&quot;a&quot;,&nbsp;&quot;b&quot;,&nbsp;&quot;c&quot;]; array_is_list($list);&nbsp;//&nbsp;true $notAList&amp;nb
发表于:2024-01-04 浏览:378 TAG:
【Python】Django的优势与特点:为什么选择它作为Web开发框架
Django是一个高效、健壮、易于扩展的Python Web开发框架。自从2005年问世以来,Django已经成为了很多企业级应用领域的首选框架。那么,Django为什么如此受欢迎呢?这篇文章将会深入分析Django的优势和特点,并为大家提供一些具体的代码示例。一、Django的优势易于上手Django是一个非常易于使用的框架。它提供了一个简单并易于理解的架构。因此,即使是初学者也能够快速掌握Django的基本知识。Django的API文档也非常完整,可以帮助开发者更快地学习。自带Web服务器D
发表于:2024-01-19 浏览:397 TAG:
【PHP】ThinkPHP如何防止SQL注入攻击
在ThinkPHP中,参数绑定是一种安全的方式,用于处理用户输入,特别是在构建数据库查询时。参数绑定可以防止SQL注入攻击,因为绑定的参数会被自动转义,而不是直接插入到SQL语句中。以下是在ThinkPHP中使用参数绑定的一些建议。1. 控制器中的参数绑定:在控制器中,可以使用bind方法进行参数绑定。以下是一个简单的示例:public&nbsp;function&nbsp;index($id) { &nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;Db::
发表于:2024-01-04 浏览:325 TAG:
【测试】AB测试总结
文章目录一、AB测试1.1 什么是AB测试1.2 AB测试的优缺点二、假设检验2.1 假设检验原理2.2 假设检验步骤:2.3 样本量的确定2.4 样本质的控制三、ABtest案例一、AB测试1.1 什么是AB测试在互联网中AB测试通常指:为web或者app界面、流程设定两个或多个版本,在同一时间维度下,分别让类似的客户群体来访问,收集各群主的用户体验数据和业务数据,最后根据显著性检验分析评估出最优的版本。1.2 AB测试的优缺点AB测试的优点:通过实验对比,建立数据驱动,不断优化产品,还能降低
发表于:2024-06-22 浏览:238 TAG:
【Node】在 Node.js 中创建自定义模块
node.js 模块是一种包,其中包含某些供导入它们的人使用的函数或方法。网络上提供了一些模块供开发人员使用,例如 fs、fs-extra、crypto、stream 等。您也可以制作自己的包并在代码中使用它。语法exports.function_name&nbsp;=&nbsp;function(arg1,&nbsp;arg2,&nbsp;....argN)&nbsp;{ &nbsp;&nbsp;&nbsp;//&nbsp;Put&nbsp;your&nbsp;function&nbsp;bo
发表于:2024-04-06 浏览:244 TAG:
【Vue】vue框架怎么运行
vue.js是一个用于构建用户界面的javascript框架,其工作原理包括:模板编译:将html模板编译为vdom;响应式系统:检测数据变化并更新vdom;dom更新:有效更新dom,最小化操作次数;自动渲染:监视数据变化并自动重新渲染ui。Vue.js框架的工作原理Vue.js是一个用于构建用户界面(UI)的JavaScript框架。它采用“响应式”系统,当数据发生变化时,框架会自动更新UI,简化了Web开发过程。Vue.js框架的工作流程:1. 模板编译:Vue.js将HTML模板编译为虚
发表于:2024-04-21 浏览:304 TAG: