最简单的CSS图片翻转效果

简介: 今天有读者询问制作鼠标经过时切换图片的效果,这种效果也称为“翻转”效果(roll-over)。原来这种效果大多使用Javascript实现,实际上用CSS可以非常方便地制作出来的。 这里给出一个最简单的效果,在深入的复杂效果变化就非常多了,有兴趣的读者可以慢慢深入研究。

今天有读者询问制作鼠标经过时切换图片的效果,这种效果也称为“翻转”效果(roll-over)。原来这种效果大多使用Javascript实现,实际上用CSS可以非常方便地制作出来的。

这里给出一个最简单的效果,在深入的复杂效果变化就非常多了,有兴趣的读者可以慢慢深入研究。

先看一下这个效果,将鼠标移到按钮图片上时,图片就会成另一个了。

Button Text

 

这个效果实现其实非常简单,第一步:准备两个图片,大小完全相同即可,这里是128X34像素。

 

左边这个是通常状态时的图片,叫background.gif,右边这个市鼠标经过时的图片,叫background-hover.gif。

第二步,写HTML部分的代码:

1
<a href="#">Button Text</a>

就是一个非常普通的超链接文本,如果希望完全使用图片而不是用任何文字,也可以。

第三步:CSS部分的代码是这样的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
a:link, a:visited{
	display:block;
	width:128px;
	height:34px;
	font-size:14px;
 
	font-family:Arial;
	line-height:34px;
	text-align:center;
	color:black;
	text-decoration:none;
 
	background:url('background.gif') no-repeat;
        }
 
a:hover, a:active{
	background:url('background-hover.gif') no-repeat;
	color:white;
        }

好了,这个效果就完成了,是不是非常简单。下面简单解释一下CSS代码的含义。

第1~14行代码是定义鼠标没有经过超链接时的CSS样式:

首先要把a元素变为块级元素,然后设定它的高度和宽度与图片相同。

然后是文字放到图片的中心位置。

最后设定背景图像的地址。

接下来的第16~19行代码定义鼠标经过时所需要变化的CSS样式。

把文字的颜色由黑色变为白色,并把图片换成另一个图片即可了。

说明与讨论:

1:如果对上面的解释还不清楚,比如什么是“块级元素”?如何设置背景图像?这些基本CSS设置方法还不清楚,这些内容很难用一两句话说清楚,请读者仔细看本站的视频教程或《精通CSS+DIV网页样式与布局》这本书,真正把基础掌握扎实永远比模仿着做出几个效果更重要。

2:读者在实验这个效果的时候,可能会发现这个效果目前有一个缺陷,鼠标移到图片上以后,很可能紫色的图片不会立即出现,而是几秒钟以后才出现,这是因为这个图片当时还没有下载到本地计算机上,因此这样对于访问者的感受就不太好了,解决方法是把上面两个图像和在一个图片中,通过使用背景图像的定位属性,来实现普通状态和hover状态显示图片上的不同区域,这样就不会有这样的停顿了。

3:这个例子还可以进一步改进,目前的做法中,按钮的宽度是固定的,如果希望按钮的宽度能够随着按钮上的文字的长度自动是适应,就要使“滑动门”技术了,可以参考《CSS滑动门技术的简单应用》这篇文章,先搞懂“滑动门”的原理,就可以应用到本例中了。

目录
相关文章
|
2月前
|
前端开发
在Webpack配置文件中,如何配置loader以处理其他类型的文件,如CSS或图片
在Webpack配置文件中,通过设置`module.rules`来配置loader处理不同类型的文件。例如,使用`css-loader`和`style-loader`处理CSS文件,使用`file-loader`或`url-loader`处理图片等资源文件。配置示例:在`rules`数组中添加对应规则,指定`test`匹配文件类型,`use`指定使用的loader。
|
1月前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
29 2
|
2月前
|
编解码 前端开发 UED
探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用
本文深入探讨了CSS媒体查询在移动端开发中的应用,介绍了媒体查询的基本概念、常见条件及其在响应式布局、导航菜单、图片优化和字体调整等方面的具体应用。通过实际案例分析和注意事项的讨论,旨在帮助开发者更好地理解和运用媒体查询,提升移动端用户体验。
57 4
|
2月前
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
21 0
CSS3实现的九宫格图片鼠标悬停去除遮罩层源码
|
3月前
|
前端开发 UED
Webpack 中处理 CSS 和图片资源的多 Loader 配置
【10月更文挑战第12天】 处理 CSS 和图片资源是 Webpack 配置中的重要部分。通过合理选择和配置多个 Loader,可以实现对这些资源的精细处理和优化,提升项目的性能和用户体验。在实际应用中,需要不断探索和实践,根据项目的具体情况进行灵活调整和优化,以达到最佳的处理效果。通过对 Webpack 中多 Loader 处理 CSS 和图片资源的深入了解和掌握,你将能够更好地应对各种复杂的资源处理需求,为项目的成功构建和运行提供坚实的基础。
106 1
|
3月前
|
前端开发 JavaScript API
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
本文通过构建一个 3D 翻卡动画深入探讨了 CSS Houdini 的强大功能,展示了如何通过 Worklets、自定义属性、Paint API 等扩展 CSS 的能力,实现高度灵活的动画效果。文章首先介绍了 Houdini 的核心概念与 API,并通过构建一个动态星空背景、圆形进度条以及交互式 3D 翻卡动画的实际示例,展示了如何利用 CSS Houdini 赋予网页设计更多创造力。最后,还演示了如何将这种 3D 翻卡效果集成到公司网站中,提升用户体验。CSS Houdini 的创新能力为网页设计带来了前所未有的灵活性,推动了前端开发迈向新的高度。
58 0
探索 CSS Houdini:轻松构建酷炫的 3D 卡片翻转动画
|
5月前
|
前端开发
如何使用 CSS object-fit 进行图片的缩放和裁剪
如何使用 CSS object-fit 进行图片的缩放和裁剪
141 0
如何使用 CSS object-fit 进行图片的缩放和裁剪
|
5月前
|
移动开发 前端开发 UED
卡片翻转,故事展开:HTML+CSS动画让信息传递更生动!(含源码)
卡片翻转,故事展开:HTML+CSS动画让信息传递更生动!(含源码)
|
5月前
|
前端开发
翻转视角:CSS让卡片设计在网页上活起来!
翻转视角:CSS让卡片设计在网页上活起来!
|
5月前
|
前端开发
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!
视觉冲击:CSS实现相册图片的放大效果,让网站首页更震撼!