当前位置:首页 > 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 和伪元素方法,确保在大多数浏览器中都能显示倒影效果。

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;
}
@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与html制作

css与html制作

CSS与HTML制作基础 CSS与HTML是构建网页的核心技术,HTML负责结构,CSS负责样式。以下是关键要点: HTML基础结构 <!DOCTYPE html> <html&…

css背景图片制作

css背景图片制作

使用CSS设置背景图片 在CSS中,可以通过background-image属性为元素添加背景图片。以下是一个基本示例: .element { background-image: url('pa…

前端css制作

前端css制作

CSS 基础语法与结构 CSS(层叠样式表)通过选择器、属性和值定义样式。基本语法为: 选择器 { 属性: 值; } 例如: h1 { color: blue; font-size:…

css制作春联

css制作春联

使用CSS制作春联的方法 基础布局与样式 春联通常由一对垂直排列的红色对联和顶部的横批组成。使用CSS的flexbox布局可以轻松实现这种结构。创建一个父容器,内部包含三个子元素:横批、上联和下联。…

css制作导航

css制作导航

CSS 制作导航的方法 基础水平导航栏 使用无序列表(<ul>)和浮动(float)或 Flexbox 布局实现水平导航: <nav> <ul class="ho…

css制作菜单

css制作菜单

CSS 制作菜单的方法 使用 CSS 可以制作多种风格的菜单,包括水平菜单、垂直菜单、下拉菜单等。以下是几种常见的实现方式。 水平菜单 水平菜单通常用于导航栏,可以通过 display: inlin…