📅  最后修改于: 2023-12-03 15:06:45.953000             🧑  作者: Mango
双层文字效果是指在一个文本上方或下方添加另一层文本,使文本具有立体、阴影或反光效果。在本文中,我们将学习如何使用 CSS 实现这种效果。
CSS 的 text-shadow 属性可以添加一层阴影效果。我们可以使用该属性来实现双层文字效果。
/* 添加一层黑色阴影 */
text-shadow: 1px 1px 1px #000;
为了实现双层文字效果,我们可以添加两层阴影,分别在上方和下方。同时,我们可以调整阴影的偏移量和颜色来达到不同的效果。
/* 在上方添加一层白色阴影,在下方添加一层黑色阴影 */
text-shadow: 0 -1px 0 #fff, 0 2px 1px #000;
另一种实现双层文字效果的方法是使用 ::before 和 ::after 伪元素。我们可以使用这两个伪元素在文本上方或下方添加另一层文本。
/* 在上方添加一层白色文本,在下方添加一层黑色文本 */
div::before {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
color: #fff;
}
div::after {
content: attr(data-text);
position: absolute;
top: 2px;
left: 2px;
color: #000;
}
使用 ::before 和 ::after 伪元素的方法比 text-shadow 更加灵活,可以实现更多种类的双层文字效果。
以下代码是一个使用 ::before 和 ::after 伪元素实现的双层文字效果的示例:
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: relative;
font-size: 3em;
font-weight: bold;
color: #fff;
text-transform: uppercase;
display: inline-block;
background: linear-gradient(to bottom, #111, #333);
padding: 10px 20px;
margin: 20px;
}
div::before {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
color: #fff;
text-shadow: 0 0 10px #fff;
}
div::after {
content: attr(data-text);
position: absolute;
top: 2px;
left: 2px;
color: #000;
text-shadow: 0 2px 0 #222;
}
</style>
</head>
<body>
<div data-text="Hello World"></div>
</body>
</html>
双层文字效果可以让文本看起来更加生动、立体,令页面更具吸引力。我们可以使用 text-shadow 属性或 ::before 和 ::after 伪元素来实现这种效果。
代码片段:
```html
<!DOCTYPE html>
<html>
<head>
<style>
div {
position: relative;
font-size: 3em;
font-weight: bold;
color: #fff;
text-transform: uppercase;
display: inline-block;
background: linear-gradient(to bottom, #111, #333);
padding: 10px 20px;
margin: 20px;
}
div::before {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
color: #fff;
text-shadow: 0 0 10px #fff;
}
div::after {
content: attr(data-text);
position: absolute;
top: 2px;
left: 2px;
color: #000;
text-shadow: 0 2px 0 #222;
}
</style>
</head>
<body>
<div data-text="Hello World"></div>
</body>
</html>
/* 添加一层黑色阴影 */
text-shadow: 1px 1px 1px #000;
/* 在上方添加一层白色阴影,在下方添加一层黑色阴影 */
text-shadow: 0 -1px 0 #fff, 0 2px 1px #000;
双层文字效果可以让文本看起来更加生动、立体,令页面更具吸引力。我们可以使用 text-shadow 属性或 ::before 和 ::after 伪元素来实现这种效果。