纯CSS蜂巢式图片画廊效果
发布于:2025-01-01 00:00:00浏览:77次
查看分享码
这是一款纯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;
}
扫描下方二维码查看分享资源

提取码:FRt6
声明:资源来源于网络,如有侵权请联系删除。
猜你喜欢
- 【Python】如何在Python中进行日志处理和调试的最佳实践和技巧
- 如何在Python中进行日志处理和调试的最佳实践和技巧引言在编写大型Python应用程序时,日志处理和调试是非常重要的,它们能够帮助我们追踪问题、诊断错误和改进代码。本文将介绍在Python中进行日志处理和调试的最佳实践和技巧,以及具体的代码示例。使用标准库loggingPython内置了一个日志处理模块-logging,它提供了一套全面的API来处理日志记录,使用起来非常方便。下面是一个基本的日志记录示例:import logging创建一个日志器logger = logg
- 【Redis】redis除了做缓存还能做什么
- redis应该说是目前最受欢迎的nosql数据库之一了。redis通常被作为缓存组件,用作缓存数据。不过,除了可以缓存数据,其实redis可以做的事还有很多。下面列举几例,供大家参考。1、最新列表例如新闻列表页面最新的新闻列表,如果总数量很大的情况下,尽量不要使用select a from A limit 10,尝试redis的 LPUSH命令构建List,一个个顺序都塞进去就可以啦。不过万一内存清掉了咋办? (推荐学习:Red
- 【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 复制)。
- 【PHP】php 实现打印文档功能
- 在许多网站中,我们经常会看到打印文档的功能,用户可以通过点击打印按钮将页面内容打印出来。传统的实现方式是通过浏览器自带的打印功能进行操作,但是这种方式存在很多弊端,比如样式不一致、图片显示异常等问题。为了解决这些问题,可以使用PHP来实现打印文档功能。实现思路使用PHP实现打印文档功能的基本思路是,将需要打印的内容通过服务器端的脚本转化为PDF文档,再通过浏览器下载或直接打印该PDF文件。具体实现步骤如下:1.获取需要打印的内容在PHP中,我们可以使用$_POST或$_GET获取需要打
- 【PHP】PHP8.1新特性大讲解之array_is_list功能
- 新array_is_list功能您可能偶尔不得不处理这个问题:确定数组的键是否按数字顺序排列,从索引 0 开始。就像json_encode决定数组应该被编码为数组还是对象一样。PHP 8.1 添加了一个内置函数来确定数组是否是具有这些语义的列表:$list = ["a", "b", "c"]; array_is_list($list); // true $notAList&nb
- 【Python】Django的优势与特点:为什么选择它作为Web开发框架
- Django是一个高效、健壮、易于扩展的Python Web开发框架。自从2005年问世以来,Django已经成为了很多企业级应用领域的首选框架。那么,Django为什么如此受欢迎呢?这篇文章将会深入分析Django的优势和特点,并为大家提供一些具体的代码示例。一、Django的优势易于上手Django是一个非常易于使用的框架。它提供了一个简单并易于理解的架构。因此,即使是初学者也能够快速掌握Django的基本知识。Django的API文档也非常完整,可以帮助开发者更快地学习。自带Web服务器D
- 【PHP】ThinkPHP如何防止SQL注入攻击
- 在ThinkPHP中,参数绑定是一种安全的方式,用于处理用户输入,特别是在构建数据库查询时。参数绑定可以防止SQL注入攻击,因为绑定的参数会被自动转义,而不是直接插入到SQL语句中。以下是在ThinkPHP中使用参数绑定的一些建议。1. 控制器中的参数绑定:在控制器中,可以使用bind方法进行参数绑定。以下是一个简单的示例:public function index($id) { $result = Db::
- 【测试】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测试的优点:通过实验对比,建立数据驱动,不断优化产品,还能降低
栏目分类全部>