当前位置:首页 > CSS

CSS制作镜面文字

2026-03-12 07:10:30CSS

使用 transformopacity 创建镜面效果

通过 CSS 的 transform 属性和 opacity 属性可以模拟镜面文字效果。将文字垂直翻转并降低透明度,形成镜像。

.mirror-text {
  position: relative;
  display: inline-block;
}

.mirror-text::after {
  content: attr(data-text);
  position: absolute;
  top: 100%;
  left: 0;
  transform: scaleY(-1);
  opacity: 0.5;
}

HTML 结构示例:

CSS制作镜面文字

<div class="mirror-text" data-text="镜面文字">镜面文字</div>

添加渐变遮罩增强真实感

通过 mask-imagelinear-gradient 为镜像文字添加渐变遮罩,模拟镜面反射的衰减效果。

.mirror-text::after {
  /* 其他属性同上 */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1), rgba(0,0,0,0));
}

使用 text-reflect 属性(实验性特性)

部分浏览器支持原生的 text-reflect 属性,可直接生成文字镜像:

CSS制作镜面文字

.mirror-text {
  -webkit-box-reflect: below 0px linear-gradient(transparent, rgba(0,0,0,0.5));
}

注意:此属性需要 -webkit- 前缀,且兼容性有限(主要支持 WebKit/Blink 内核浏览器)。

调整间距和定位

通过调整镜像元素的位置和间距,可以控制镜面效果的表现形式:

.mirror-text::after {
  top: calc(100% + 5px); /* 增加间距 */
  transform-origin: 0 0; /* 调整翻转轴心 */
}

完整代码示例

<style>
.mirror-text {
  position: relative;
  display: inline-block;
  font-size: 2em;
  font-weight: bold;
  color: #333;
}

.mirror-text::after {
  content: attr(data-text);
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  transform: scaleY(-1);
  opacity: 0.3;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,0.8), transparent);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.8), transparent);
}
</style>

<div class="mirror-text" data-text="HELLO WORLD">HELLO WORLD</div>

标签: 镜面文字
分享给朋友:

相关文章

vue实现轮播文字

vue实现轮播文字

Vue 实现轮播文字 使用 CSS 动画实现 通过 CSS 的 @keyframes 和 animation 属性实现文字轮播效果。定义一个动画,让文字从一侧移动到另一侧。 <template…

vue 实现轮播文字

vue 实现轮播文字

使用 Swiper 插件实现轮播文字 安装 Swiper 依赖: npm install swiper 在 Vue 组件中引入 Swiper: <template> &…

vue实现文字折叠

vue实现文字折叠

Vue 实现文字折叠功能 文字折叠功能通常用于长文本的展示与隐藏,以下是几种实现方式: 使用 v-show 或 v-if 控制显示 通过 Vue 的指令可以轻松实现文本的展开与折叠: <te…

vue实现文字识别

vue实现文字识别

Vue实现文字识别的方案 Vue可以通过集成第三方OCR(光学字符识别)库或API实现文字识别功能。以下是几种常见的实现方式: 使用Tesseract.js库 Tesseract.js是一个纯Jav…

vue实现文字闪烁效果

vue实现文字闪烁效果

实现文字闪烁效果的方法 在Vue中实现文字闪烁效果可以通过CSS动画或JavaScript定时器来控制。以下是几种常见的方法: 使用CSS动画 通过定义CSS的@keyframes规则实现周期性闪烁…

vue实现文字滚动停顿

vue实现文字滚动停顿

实现文字滚动停顿的几种方法 在Vue中实现文字滚动并带有停顿效果,可以通过CSS动画、JavaScript定时器或第三方库来实现。以下是几种常见的实现方式: 使用CSS动画实现 通过CSS的@key…