当前位置:首页 > CSS

css制作倒影

2026-02-27 09:50:57CSS

使用 -webkit-box-reflect 属性

通过 -webkit-box-reflect 属性可以快速为元素创建倒影效果。该属性支持设置倒影方向、距离和遮罩效果。
示例代码:

.reflect {
    -webkit-box-reflect: below 10px linear-gradient(transparent, rgba(0, 0, 0, 0.3));
}
  • below 表示倒影在元素下方,还可使用 aboveleftright
  • 10px 控制倒影与元素的间距。
  • linear-gradient 用于渐变遮罩,避免倒影生硬。

注意:该属性为 WebKit 私有属性,兼容性有限(Chrome、Safari 等)。

使用伪元素模拟倒影

通过 ::after 伪元素结合 transformopacity 实现跨浏览器兼容的倒影:

.reflect {
    position: relative;
}
.reflect::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    transform: scaleY(-1);
    opacity: 0.3;
    filter: blur(2px);
}
  • transform: scaleY(-1) 垂直翻转元素。
  • opacityfilter: blur() 增强倒影的真实感。

SVG 滤镜实现动态倒影

通过 SVG 的 feGaussianBlurfeOffset 滤镜实现更复杂的倒影效果:

<svg>
    <filter id="reflect">
        <feGaussianBlur stdDeviation="2" />
        <feOffset dy="10" />
        <feComponentTransfer>
            <feFuncA type="linear" slope="0.3" />
        </feComponentTransfer>
    </filter>
</svg>

CSS 中调用:

.reflect {
    filter: url(#reflect);
}

适用于需要动态控制倒影模糊或变形的场景。

结合 mask-image 优化边缘

通过 CSS mask-image 控制倒影的渐隐效果:

.reflect::after {
    mask-image: linear-gradient(to bottom, transparent 10%, white 80%);
}

与伪元素方案结合使用,可替代 -webkit-box-reflect 的渐变遮罩功能。

总结

css制作倒影

  • 优先使用 -webkit-box-reflect 实现简单倒影(需兼容性考虑)。
  • 伪元素方案兼容性最佳,适合大多数场景。
  • SVG 滤镜适用于复杂效果,但需额外 HTML 结构。

标签: 倒影css
分享给朋友:

相关文章

css制作

css制作

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。其基本语法由选择器和声明块组成。选择器指定要样式化的HTML元素,声明块包含一个或多个属性-值对,用花括号 {} 包裹。 select…

css 制作石头

css 制作石头

使用CSS制作石头效果 通过CSS的border-radius、box-shadow和background属性可以模拟石头的自然外观。以下是一个简单实现: <div class="stone"…

css制作钢琴块

css制作钢琴块

使用CSS制作钢琴块 钢琴块可以通过HTML和CSS的配合实现,主要利用flexbox布局和伪元素来模拟钢琴的黑白键排列。 HTML结构 <div class="piano"> &l…

css制作许愿墙六块

css制作许愿墙六块

CSS 制作许愿墙六块布局 使用 CSS 创建一个六块许愿墙布局可以通过多种方式实现,以下是两种常见的方法:使用 CSS Grid 或 Flexbox。以下代码示例展示了如何实现这两种布局。 方…

css制作便签

css制作便签

CSS制作便签的方法 使用CSS可以轻松创建具有便签效果的样式,以下是一种常见的实现方式: HTML结构 <div class="note"> <h3>便签标题<…

css制作栅格

css制作栅格

CSS 栅格布局基础 CSS Grid 布局是一种强大的二维布局系统,允许开发者通过行和列来设计复杂的网页布局。栅格系统由容器(grid container)和项目(grid items)组成。 定…