当前位置:首页 > 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 适用于复杂图形的倒影,尤其是动画场景:

<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网页制作

css网页制作

CSS网页制作基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333;…

css制作三角形

css制作三角形

使用 border 属性创建三角形 通过设置元素的 border 属性可以实现三角形效果。原理是利用边框的交界处形成的斜边。 .triangle { width: 0; height: 0…

制作css

制作css

CSS基础语法 CSS规则由选择器和声明块组成。选择器指向需要设置样式的HTML元素,声明块包含一个或多个用分号分隔的声明。每个声明由属性和值组成,用冒号分隔。 选择器 { 属性: 值; 属…

css制作箭头

css制作箭头

使用 CSS 边框制作箭头 通过调整元素的 border 属性,利用透明边框和实色边框的组合生成箭头。例如,创建一个向右的箭头: .arrow-right { width: 0; he…

css制作下拉菜单

css制作下拉菜单

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

纯css制作tab菜单

纯css制作tab菜单

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