当前位置:首页 > CSS

css制作倒影

2026-01-28 06:48:11CSS

使用 -webkit-box-reflect 属性

通过 CSS 的 -webkit-box-reflect 属性可以快速为元素创建倒影效果。该属性目前仅在 WebKit 内核浏览器(如 Chrome、Safari)中支持。

.reflect {
    -webkit-box-reflect: below 10px linear-gradient(transparent, rgba(0,0,0,0.3));
}

below 10px 表示倒影位于元素下方,距离为 10px。linear-gradient 用于控制倒影的渐变透明度,避免生硬的边缘。

使用伪元素模拟倒影

对于不支持 -webkit-box-reflect 的浏览器,可以通过伪元素和 CSS 变换模拟倒影效果。

.reflect {
    position: relative;
}
.reflect::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(transparent, rgba(0,0,0,0.3));
    transform: scaleY(-1);
    opacity: 0.5;
}

通过 transform: scaleY(-1) 垂直翻转伪元素,再通过渐变和透明度调整倒影的视觉效果。

结合 SVG 滤镜

SVG 滤镜可以实现更复杂的倒影效果,包括模糊、扭曲等高级效果。

<svg style="display: none;">
    <filter id="reflection">
        <feGaussianBlur stdDeviation="2"/>
        <feComponentTransfer>
            <feFuncA type="linear" slope="0.5"/>
        </feComponentTransfer>
    </filter>
</svg>
.reflect {
    filter: url(#reflection);
}

倒影动画效果

通过 CSS 动画或过渡,可以让倒影产生动态效果,如波纹或渐变动画。

.reflect:hover::after {
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

多浏览器兼容方案

结合 -webkit-box-reflect 和伪元素方法,确保在大多数浏览器中都能显示倒影效果。

.reflect {
    position: relative;
}
.reflect::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(transparent, rgba(0,0,0,0.3));
    transform: scaleY(-1);
    opacity: 0.5;
}
@supports (-webkit-box-reflect: below) {
    .reflect::after {
        display: none;
    }
    .reflect {
        -webkit-box-reflect: below 10px linear-gradient(transparent, rgba(0,0,0,0.3));
    }
}

css制作倒影

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

相关文章

网页制作 css

网页制作 css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red;…

css字体制作

css字体制作

CSS字体设置基础 在CSS中设置字体主要通过font-family属性实现,可以指定多个字体作为备选。系统会优先使用第一个可用字体。 body { font-family: "Helveti…

淘宝css导航栏制作

淘宝css导航栏制作

淘宝CSS导航栏制作方法 使用HTML和CSS可以轻松制作类似淘宝的导航栏。以下是一个常见的实现方式: HTML结构 <div class="nav-container"> &…

纯css制作tab菜单

纯css制作tab菜单

纯CSS制作Tab菜单的方法 使用radio input控制切换 通过<input type="radio">和<label>元素配合实现无JavaScript的Tab切换效果…

css简历制作

css简历制作

使用CSS制作简历的基本方法 选择简洁的布局结构,单列或双列布局适合大多数简历。使用display: flex或display: grid实现响应式设计,确保在不同设备上显示良好。 字体选择上,标题…

vue制作css

vue制作css

在Vue中制作CSS的方法 Vue提供了多种灵活的方式来编写和管理CSS,可以根据项目需求选择适合的方法。 使用内联样式 内联样式可以直接在Vue组件的模板中编写,适用于简单的样式需求。 &l…