以下是基于 HTML 和 CSS 的完整代码实现,具体实现了文字镂空效果,并在文字区域显示背景图片,外层区域覆盖一层半透明遮罩以突出文字内容。
HTML 结构
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文字镂空效果</title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<div class="mask">
<span>文字镂空效果</span>
</div>
</body>
</html>
CSS 样式
/* 去除默认边距并设置背景图片 */
body {
margin: 0;
height: 100vh;
background: url('./img.jpeg') no-repeat center/cover; /* 全屏背景 */
}
/* 半透明遮罩容器 */
.mask {
height: 100%;
display: flex; /* 启用 Flex 布局 */
justify-content: center; /* 水平居中 */
align-items: center; /* 垂直居中 */
background: rgba(0, 0, 0, 0.7); /* 半透明黑色背景 */
}
/* 镂空文字效果 */
.mask span {
font-size: 24vh; /* 根据视窗高度动态调整文字大小 */
font-weight: bold; /* 文字加粗以提升视觉效果 */
color: transparent; /* 文字颜色透明 */
-webkit-text-stroke: 1px #fff; /* 添加白色描边 */
background: url('./img.jpeg') no-repeat center/cover; /* 文字内部背景图 */
-webkit-background-clip: text; /* 背景裁剪到文字 */
background-clip: text; /* 兼容性属性 */
}
效果说明
- 背景图片:
- 页面背景通过
body
的background
属性设置,背景图充满整个视口,采用居中显示且覆盖布局。
- 页面背景通过
- 遮罩层:
.mask
设置半透明黑色背景,提升文字的可见性和对比度。
- 镂空文字:
- 核心属性:
color: transparent
:将文字颜色设置为透明,确保文字内容本身不显示。background-clip: text
:将背景裁剪到文字区域,仅在文字区域显示背景图。-webkit-text-stroke
:通过白色描边增强文字轮廓,增加与背景的区分度。
- 字体大小
font-size
使用视口单位(vh
),使其能根据屏幕高度动态调整,适配不同设备。
- 核心属性:
实现效果的扩展
- 动态背景:
- 通过 CSS 动画(
@keyframes
)为背景图片添加移动效果,实现背景动态流动。
- 通过 CSS 动画(
- 响应式设计:
- 使用媒体查询调整文字大小或遮罩透明度,适配小屏幕设备。
效果描述
最终效果是,页面显示一张背景图片,并在中心以镂空的文字显示“文字镂空效果”。文字区域透过背景,形成镂空效果,而非文字部分由半透明黑色遮罩覆盖。
此方法不仅适用于静态设计,还能在动态背景、广告页或引导页面中增加视觉吸引力。
原创文章,作者:北单,如若转载,请注明出处:https://www.beidandianzhu.com/g/547.html