在前端开发中,文字镂空效果(又称"文字挖空")是提升视觉冲击力的常用技巧。这种效果让文字内部透明,透过文字可以看到背景内容,常用于Banner标题、海报设计和数据大屏等场景。
本文将深入解析3种CSS实现方案,帮你轻松掌握这一实用技能。
一、基础方案:text-stroke属性(现代浏览器首选)
实现原理:
通过给文字添加描边,并将文字颜色设为透明,只保留描边部分,形成镂空效果。
.hollow-text {
font-size: 4rem;
font-weight: bold;
color: transparent; /* 关键:文字透明 */
-webkit-text-stroke: 2px#3498db; /* 描边宽度和颜色 */
text-stroke: 2px#3498db;
}
效果特点:
实现简单,仅需两行核心代码
支持渐变描边:text-stroke: 2px linear-gradient(...)
兼容性:现代浏览器支持良好(IE除外)
进阶技巧 - 动态渐变背景:
<divclass="banner">
<h1class="hollow-title">夏日特惠</h1>
</div>
.banner {
background: linear-gradient(45deg, #ff9a9e, #fad0c4);
padding: 3rem;
}
.hollow-title {
font-size: 5rem;
color: transparent;
-webkit-text-stroke: 3px#fff;
text-stroke: 3px#fff;
text-shadow: 0010pxrgba(255,255,255,0.7); /* 添加发光效果 */
}
此时文字区域会透出背景渐变,形成动态视觉
二、兼容方案:伪元素叠加法(全浏览器支持)
实现原理:
使用两层文字叠加,底层为描边文字,顶层为小一号的实心文字,通过错位形成镂空边缘。
.hollow-compatible {
position: relative;
font-size: 4rem;
font-weight: bold;
color: #2980b9; /* 描边色 */
}
/* 创建镂空层 */
.hollow-compatible::after {
content: attr(>); /* 复用元素文字 */
position: absolute;
top: 3px; /* 微调位置 */
left: 3px;
color: white; /* 背景色 */
font-size: 0.92em; /* 略小于原文字 */
}
html
<!-- 使用data-text属性传递内容 -->
<h2class="hollow-compatible" >="限时抢购">限时抢购</h2>
优势:
兼容所有浏览器(包括IE9+)
可通过调整top/left值和字体大小控制镂空厚度
支持复杂背景(图片、视频背景均可)
三、高级方案:background-clip文本裁剪(创意效果)
实现原理:
利用background-clip: text将背景裁剪到文字区域,结合text-fill-color实现镂空。
.hollow-advanced {
font-size: 4rem;
font-weight: 900;
background: url(../images/texture.jpg) center/cover; /* 任意背景 */
-webkit-background-clip: text;
background-clip: text;
color: transparent; /* 或使用text-fill-color */
-webkit-text-fill-color: transparent;
/* 添加描边增强效果 */
text-shadow:
2px2px0#fff,
-2px -2px0#fff;
}
创意扩展 - 动态视频背景:
.video-hollow {
position: relative;
}
.video-hollowvideo {
position: absolute;
top: 0;
left: 0;
width: 100%;
z-index: -1;
}
.video-hollowh1 {
font-size: 6rem;
background: white; /* 关键:取视频帧需特殊处理 */
mix-blend-mode: screen; /* 混合模式 */
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
四、实战技巧与注意事项
字体选择:
优先选用粗体字(如Impact、Bebas Neue)
避免衬线字体,镂空效果更明显
描边优化:
/*消除锯齿*/
text-shadow:
001px#fff,
001px#fff,
001px#fff;响应式适配:
/* 根据屏幕调整描边粗细 */
.hollow-text {
--stroke-width: 2px;
-webkit-text-stroke: var(--stroke-width) blue;
}
@media (max-width:768px) {
.hollow-text {
--stroke-width: 1px;
font-size: 2.5rem;
}
}可访问性保障:
确保背景与描边有足够对比度
提供备用样式:@supports not (background-clip: text) { ... }
添加文字阴影提升可读性
五、应用场景实例
电商促销Banner:
.sale-bannerh1 {
font-size: 5rem;
color: transparent;
-webkit-text-stroke: 3px#e74c3c;
background: url(confetti.png);
animation: shine 3s infinite;
}
@keyframes shine {
0% { text-shadow: 005px#f1c40f; }
50% { text-shadow: 0020px#f1c40f; }
100% { text-shadow: 005px#f1c40f; }
}数据大屏标题:
.dashboard-title {
-webkit-text-stroke: 1pxrgba(0,247,255,0.8);
color: transparent;
text-shadow: 0010px#00f7ff;
}图片水印:
.watermark::after {
content: "严禁转载";
position: absolute;
bottom: 20px;
right: 20px;
font-size: 2rem;
color: transparent;
-webkit-text-stroke: 1pxrgba(255,255,255,0.7);
opacity: 0.6;
}
浏览器兼容性解决方案
IE兼容方案:
/* 仅IE生效的hack */
@media all and (-ms-high-contrast: none) {
.hollow-text {
color: #3498db; /* 显示为实心色 */
position: relative;
}
.hollow-text::after {
content: attr(>);
position: absolute;
top: 2px;
left: 2px;
color: white;
font-size: 0.95em;
}
}
总结:
CSS文字镂空效果通过三种方式实现:
text-stroke:现代项目首选,代码简洁
伪元素叠加:兼容性最佳,支持复杂场景
background-clip:创意效果之王,支持动态背景
建议:在深色背景上使用浅色描边(白/黄/蓝),在复杂背景上添加文字阴影增强可读性。避免在小字号文本使用,最小字号建议≥24px。
掌握这些技巧后,你可以轻松创建出吸引眼球的标题效果,无需设计师协助也能制作专业级视觉方案。

優(yōu)網(wǎng)科技秉承"專業(yè)團隊、品質(zhì)服務(wù)" 的經(jīng)營理念,誠信務(wù)實的服務(wù)了近萬家客戶,成為眾多世界500強、集團和上市公司的長期合作伙伴!
優(yōu)網(wǎng)科技成立于2001年,擅長網(wǎng)站建設(shè)、網(wǎng)站與各類業(yè)務(wù)系統(tǒng)深度整合,致力于提供完善的企業(yè)互聯(lián)網(wǎng)解決方案。優(yōu)網(wǎng)科技提供PC端網(wǎng)站建設(shè)(品牌展示型、官方門戶型、營銷商務(wù)型、電子商務(wù)型、信息門戶型、微信小程序定制開發(fā)、移動端應(yīng)用(手機站、APP開發(fā))、微信定制開發(fā)(微信官網(wǎng)、微信商城、企業(yè)微信)等一系列互聯(lián)網(wǎng)應(yīng)用服務(wù)。