广州总部电话:020-85564311
广州总部电话:020-85564311
20年
互联网应用服务商
请输入搜索关键词
知识库 知识库

优网知识库

探索行业前沿,共享知识宝库

HTML&CSS:水滴状相片墙

发布日期:2025-08-25 09:01:09 浏览次数: 807 来源:前端Hardy
推荐语
用SVG滤镜打造独特水滴状相片墙,让你的网页设计瞬间脱颖而出!

核心内容:
1. 使用SVG滤镜实现水滴状图片效果
2. 响应式网格布局适配不同设备
3. 提供完整源码获取方式及使用建议
小优 网站建设顾问
专业来源于二十年的积累,用心让我们做到更好!

这个 HTML 文件是一个简单的水滴状相片墙效果页面,展示了多张图片,并使用 SVG 滤镜对图片进行了视觉效果处理。

演示效果

演示效果

HTML&CSS


<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        html,
        body {
            display: grid;
        }

        html {
            min-height100%;
        }

        body {
            grid-gap1em;
            grid-template-columnsrepeat(auto-fit, min(15em100%));
            place-content: center;
            background#a53860;
        }

        svg[aria-hidden="true"][height="0"] {
            position: absolute;
        }

        img {
            width100%;
            aspect-ratio1;
            object-fit: cover;
            filterurl(#squircle) url(#shadow) url(#smooth);
        }
    
</style>
</head>

<body>

    <svg width="0" height="0" aria-hidden="true">
        <filter id="squircle" primitiveUnits="objectBoundingBox">
            <feGaussianBlur stdDeviation="0.2"></feGaussianBlur>
            <feComponentTransfer>
                <feFuncA type="discrete" tableValues="0 1"></feFuncA>
            </feComponentTransfer>
            <feComposite in="SourceGraphic" operator="in"></feComposite>
        </filter>
        <filter id="shadow">
            <feGaussianBlur in="SourceAlpha" stdDeviation="8"></feGaussianBlur>
            <feOffset dx="6" dy="8"></feOffset>
            <feComposite in="SourceAlpha" operator="out"></feComposite>
            <feBlend in2="SourceGraphic" mode="multiply"></feBlend>
        </filter>
        <filter id="smooth">
            <feGaussianBlur in="SourceAlpha" stdDeviation="8"></feGaussianBlur>
            <feComponentTransfer>
                <feFuncA type="table" tableValues="-8 7"></feFuncA>
            </feComponentTransfer>
            <feComposite in="SourceGraphic" operator="in"></feComposite>
        </filter>
    </svg>
    <img src="https://images.unsplash.com/photo-1736230990003-a98eea26ea1f?w=800" />
    <img src="https://images.unsplash.com/photo-1739323006029-2d8452a47df6?w=800" />
    <img src="https://images.unsplash.com/photo-1739370143123-20f486557a00?w=800" />
    <img src="https://images.unsplash.com/photo-1738236013982-9449791344de?w=800" />
    <img src="https://images.unsplash.com/photo-1737227817817-a6010e39bfa6?w=800" />
    <img src="https://images.unsplash.com/photo-1738848392298-cf0b62edc750?w=800" />
    <img src="https://images.unsplash.com/photo-1736117024365-c36ccb9f843d?w=800" />
    <img src="https://images.unsplash.com/photo-1739437455408-66aab68b5c0d?w=800" />
    <img src="https://images.unsplash.com/photo-1734613876170-079f67aa0d15?w=800" />
    <img src="https://images.unsplash.com/photo-1735534151807-17f107a64cf6?w=800" />

</html>

HTML

  • svg:定义了 SVG 滤镜,用于图片的视觉效果处理。
  • img:显示图片,每张图片都使用了 SVG 滤镜。

CSS

  • html:设置 html 的最小高度为 100%。

  • body:设置 body 的网格列布局为自适应,每列宽度为 15em,最大不超过 100%。设置网格间距(grid-gap)为 1em。使用 place-content: center 将内容水平和垂直居中。设置背景颜色为#a53860。

  • svg[aria-hidden="true"][height="0"]:隐藏 SVG 元素,设置为绝对定位。

  • img:设置图片宽度为 100%,保持纵横比为 1(aspect-ratio: 1)。设置图片填充方式为覆盖(object-fit: cover)。应用 SVG 滤镜(filter: url(#squircle) url(#shadow) url(#smooth))。

  • svg:定义了一个隐藏的 SVG 元素,用于定义滤镜。width="0" 和 height="0":将 SVG 元素的大小设置为 0,使其不可见。aria-hidden="true":确保 SVG 元素对辅助技术不可见。

  • filter id="squircle":定义了一个名为 squircle 的滤镜,用于创建圆角矩形效果。

  • feGaussianBlur:应用高斯模糊,标准差为 0.2。

  • feComponentTransfer:将透明度设置为离散值(0 或 1)。

  • feComposite:将模糊效果与原始图形组合。

  • filter id="shadow":定义了一个名为 shadow 的滤镜,用于创建阴影效果。

  • feGaussianBlur:应用高斯模糊,标准差为 8。

  • feOffset:将模糊效果偏移 6 像素水平和 8 像素垂直。

  • feComposite:将模糊效果与原始图形组合。

  • feBlend:将模糊效果与原始图形混合。

  • filter id="smooth"

  • 定义了一个名为 smooth 的滤镜,用于平滑边缘。

  • feGaussianBlur:应用高斯模糊,标准差为 8。

  • feComponentTransfer:调整透明度。

  • feComposite:将模糊效果与原始图形组合。



优网科技,优秀企业首选的互联网供应服务商

优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!

优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、微信小程序定制开发、移动端应用(手机站APP开发)、微信定制开发(微信官网、微信商城、企业微信)等一系列互联网应用服务。


我要投稿

姓名

文章链接

提交即表示你已阅读并同意《个人信息保护声明》

专属顾问 专属顾问
扫码咨询您的优网专属顾问!
专属顾问
马上咨询
扫一扫马上咨询
扫一扫马上咨询

扫一扫马上咨询