和mouseenter
>事件上的类。虽然功能性,但纯CSS解决方案通常是可取的。 本文详细介绍了一种仅使用CSS的方法,最初是受到重现Netflix主页等动画的技术的启发。 但是,由于元素之间的差距,先前使用此方法的尝试在基于网格的布局上失败。 本文提出了一种优雅处理这些差距的解决方案。
mouseleave
标记和基本CSS
基础HTML利用基于网格的列表:>
:容器网格。-
.grid
:单个网格项目。 -
.grid__child
标记如下:
最初的CSS样式网格及其孩子:
利用CSS选择器
.grid { display: grid; grid-template-columns: repeat(auto-fit, 15rem); grid-gap: 1rem; } .grid__child { background: rgba(0, 0, 0, .1); border-radius: .5rem; aspect-ratio: 1/1; }核心相互作用涉及两个步骤:
悬停容器都会影响所有儿童。
悬停的孩子本身被排除在外。
- 首先,当容器悬停时,我们针对所有儿童:
- 接下来,我们将使用 降低不透明度的当前盘旋儿童排除
>这在元素之间没有差距。 但是,由于差距,即使光标本身在差距上,效果也会触发。
解决差距.grid:hover .grid__child { /* ... */ }
解决方案在于控制指针事件。 通过在:not(:hover)
>容器上设置
.grid:hover .grid__child:not(:hover) { opacity: 0.3; }
添加一个更平滑的不透明度变化的过渡完成了效果。
潜在的局限性pointer-events: none
.grid
>有效,这种方法可能需要调整可滚动容器(例如水平滑块)。 在这种情况下,将pointer-events: auto
包装在另一个容器中可以是解决方法。
.grid { /* ... */ pointer-events: none; } .grid__child { /* ... */ pointer-events: auto; }结论
这为共同的互动挑战展示了强大的纯CSS解决方案。 通过利用高级CSS选择器和指针事件控制,我们在不诉诸JavaScript的情况下实现了复杂的效果,从而导致更清洁,更可维护的代码。 这突出了CSS的越来越多的功能,并鼓励在添加JavaScript复杂性之前探索本地解决方案。
以上是纯CSS画廊的重点效果:不的详细内容。更多信息请关注PHP中文网其他相关文章!

文章讨论了CSS FlexBox,这是一种布局方法,用于有效地对齐和分布响应设计中的空间。它说明了FlexBox用法,将其与CSS网格进行了比较,并详细浏览了浏览器支持。

本文讨论了使用CSS创建响应网站的技术,包括视口元标签,灵活的网格,流体媒体,媒体查询和相对单元。它还涵盖了使用CSS网格和Flexbox一起使用,并推荐CSS框架

本文讨论了CSS盒装属性,该属性控制了元素维度的计算方式。它解释了诸如Content-Box,Border-Box和Padding-Box之类的值,以及它们对布局设计和形式对齐的影响。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Dreamweaver Mac版
视觉化网页开发工具

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境