首页 >web前端 >css教程 > 正文

纯CSS3怎么给文本添加背景图

原创2021-08-26 10:25:400866
在之前的文章《手把手教你使用CSS3实现按钮悬停闪烁动态特效》中,我们介绍使用CSS3给按钮添加动态效果,实现一个按钮悬停闪亮阴影动画效果的方法,感兴趣的朋友可以去了解一下~

今天我们我们来看看使用CSS3怎么给文本添加背景图,让文字变得生动好看!在我们想要创建一个较大的文本标题,但不想使用普通又枯燥的颜色来修饰时,非常有用!

我们先来看看效果图:

1.png

下面我们来研究一下是怎么实现这个效果的:

首先是HTML部分,定义两个标题

<body>
  <h1>Hello world!</h1>
  <h3>Hello world!</h3>
</body>

2.png

然后开始定义css样式来进行修饰:

body {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  text-align: center;
  min-height: 100vh;
  font-size: 100px;
  font-family:Arial, Helvetica, sans-serif;
}

3.png

最后就是给文字添加背景图片:

  • 将文字原本的颜色设置为transparent透明,然后利用background-image属性给文字加背景图片

h1 {
	color: transparent;
	background-image: url("https://img.php.cn/upload/article/000/000/024/612360451cede816.jpg");
  
}
h3{
	color: transparent;
	background-image: url("https://img.php.cn/upload/article/000/000/024/6124c86e0808b298.jpg");
}

4.png

发现效果是这样的,不如人意。这是因为缺少了一个关键属性background-clip。background-clip属性是一个CSS3新属性,要添加前缀来兼容其他浏览器

h1 {
	color: transparent;
	background-image: url("https://img.php.cn/upload/article/000/000/024/612360451cede816.jpg");
	background-clip: text;
	-webkit-background-clip: text;
  
}
h3{
	color: transparent;
	background-image: url("https://img.php.cn/upload/article/000/000/024/6124c86e0808b298.jpg");
	background-clip: text;
	-webkit-background-clip: text;
}

5.png

ok,大功告成!下面附上完整代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<style type="text/css">
			body {
				display: flex;
				align-items: center;
				justify-content: center;
				flex-direction: column;
				width: 100%;
				text-align: center;
				min-height: 100vh;
				font-size: 100px;
				font-family: Arial, Helvetica, sans-serif;
			}

			h1 {
				color: transparent;
				background-image: url("https://img.php.cn/upload/article/000/000/024/612360451cede816.jpg");
				background-clip: text;
				-webkit-background-clip: text;

			}

			h3 {
				color: transparent;
				background-image: url("https://img.php.cn/upload/article/000/000/024/6124c86e0808b298.jpg");
				background-clip: text;
				-webkit-background-clip: text;
			}
		</style>
	</head>
	<body>
		<h1>Hello world!</h1>
		<h3>Hello world!</h3>
	</body>
</html>

因为我们使用的是静态图片,所以是文本背景图效果也是静态的。如果使用动图会有动态效果:

h3 {
   background-image: url("https://img.php.cn/upload/image/161/146/599/1629799857734746.gif"),
   url("https://img.php.cn/upload/image/817/380/291/1629799861847258.gif");
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

3.gif

PHP中文网平台有非常多的视频教学资源,欢迎大家学习《css视频教程》!

以上就是纯CSS3怎么给文本添加背景图的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 专题推荐

    作者信息

    青灯夜游

    今天学习一小步,明天提升一大步

    最近文章
    php怎么判断有几位小数447
    php中转换首字母大写的函数是什么374
    Javascript怎么检查对象是否为空892
    推荐视频教程
  • 妙味课堂CSS3视频教程妙味课堂CSS3视频教程
  • css3实现网页平滑过渡效果视频教程css3实现网页平滑过渡效果视频教程
  • CSS3 3D 特效视频教程CSS3 3D 特效视频教程
  • 韩顺平 2016年 最新CSS3视频教程韩顺平 2016年 最新CSS3视频教程
  • HTML5+CSS3快速入门视频教程HTML5+CSS3快速入门视频教程
  • 视频教程分类