当前位置:首页 > 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 滤镜实现更复杂的倒影效果:

css制作倒影

<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);
}

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

css制作倒影

结合 mask-image 优化边缘

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

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

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

总结

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

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

相关文章

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成: 选择…

div css制作导航

div css制作导航

使用div和CSS制作导航栏 导航栏是网站的重要组成部分,用于帮助用户快速找到所需内容。以下是使用div和CSS制作导航栏的方法: HTML结构 创建一个基本的导航栏HTML结构,使用div和ul元…

css 制作三角形

css 制作三角形

使用 CSS 制作三角形的方法 边框法(Border Method) 通过设置元素的宽高为0,并利用边框的透明属性来创建三角形。这是最常见且兼容性最好的方法。 向上三角形 .triangle-…

css制作下拉导航条

css制作下拉导航条

使用纯CSS制作下拉导航条 HTML结构部分需要包含导航主菜单和子菜单项,通常使用嵌套的无序列表(<ul>和<li>)实现: <nav class="dropdown-…

css制作圆

css制作圆

使用CSS制作圆形元素 通过CSS的border-radius属性可以轻松将元素变为圆形。以下是具体实现方法: 基本圆形实现 .circle { width: 100px; height:…

css制作tkd

css制作tkd

CSS 制作 TKD(Title, Keywords, Description) TKD(Title, Keywords, Description)是网页 SEO 优化的核心元素,通常通过 HTML…