当前位置:首页 > CSS

css制作倒影

2026-02-13 01:12:40CSS

使用 -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 浏览器,可通过伪元素手动实现倒影:

.reflect-container {
    position: relative;
    height: 200px; /* 包含倒影的总高度 */
}

.reflect-content {
    height: 100px; /* 原始内容高度 */
}

.reflect-content::after {
    content: "";
    position: absolute;
    top: 100%; /* 置于元素下方 */
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.3)), 
                url("元素背景或图片路径");
    transform: scaleY(-1); /* 垂直翻转 */
    opacity: 0.5;
}

结合 transform 与滤镜

通过 scale 翻转配合滤镜增强效果:

.reflect {
    position: relative;
}

.reflect::after {
    content: "";
    position: absolute;
    top: 100%;
    width: 100%;
    height: 20%; /* 倒影高度比例 */
    background: inherit;
    transform: scaleY(-1);
    filter: blur(2px) opacity(0.6);
}
  • blur 增加模糊效果。
  • opacity 调整透明度使倒影更自然。

SVG 实现动态倒影

SVG 适用于复杂图形的倒影,尤其是动画场景:

css制作倒影

<svg width="200" height="200">
    <defs>
        <filter id="reflect-filter">
            <feGaussianBlur stdDeviation="1" />
            <feComponentTransfer>
                <feFuncA type="linear" slope="0.5" />
            </feComponentTransfer>
        </filter>
    </defs>
    <use xlink:href="#target" transform="scale(1, -1)" y="-200" filter="url(#reflect-filter)" />
</svg>
  • scale(1, -1) 垂直翻转。
  • feGaussianBlurfeComponentTransfer 控制模糊和透明度。

注意事项

  • -webkit-box-reflect 仅兼容 WebKit 内核浏览器(Chrome、Safari)。
  • 伪元素方案需手动调整背景或内容复制。
  • 动态内容(如视频)建议使用 -webkit-box-reflect 或 SVG。

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

相关文章

用css制作网页

用css制作网页

创建HTML文件结构 新建一个index.html文件,写入基础HTML5结构。通过<link>标签引入外部CSS文件,示例结构如下: <!DOCTYPE html> <…

css制作下拉菜单

css制作下拉菜单

CSS 制作下拉菜单的方法 使用纯 CSS 可以创建简单的下拉菜单效果,主要依赖 :hover 伪类和 display 属性控制子菜单的显示与隐藏。 基础 HTML 结构 <div c…

css 制作石头

css 制作石头

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

怎么制作css表格

怎么制作css表格

使用HTML和CSS创建表格 HTML提供<table>标签用于创建表格结构,CSS用于控制样式。以下是一个基础示例: <table class="styled-table">…

css 在线制作

css 在线制作

CSS 在线制作工具推荐 以下是一些实用的在线 CSS 工具,可用于快速生成、编辑和优化 CSS 代码: CSS 生成器 CSS3 Generator(如css3generator.com):…

css sprites制作

css sprites制作

CSS Sprites 制作方法 CSS Sprites 是一种将多个小图标或图片合并成一张大图的技术,通过减少 HTTP 请求提升网页加载性能。 准备工作 需要将多个小图标或图片合并为一张大图,可…