用CSS实现文字变图象特效
一段文字,当鼠标在文字上面单击,文字消失,原来文字的地方却立即变成了一张图片,当鼠标在图片上单击,图片又消失,原来的文字又重现了,像变魔术一样,是不是有意思?!这种效果用Dreamweaver的Behavirs 功能也可实现,但那要增加一段javascript程序,明显增加了不少代码。而用CSS来制作这种效果,增加的代码却要少得多。
原理:利用CSS的属性值可动态改变的特点。
思路:定义一个HTML元素CSS属性的两种属性值,再用一个事件来触发,一旦事件发生,则改变HTML元素的属性值,从而达到预期目的。
制作方法:
1、在网页中输入一段文字,用“Span”标记把它括起来,并给它加一个CSS的“ID”属性(也就是给这段文字编一个代号,如:“Text1”,以便识别);再插入一张图片,同样也用“Span”把它括起来,也给它加一个“ID”属性,如:ID="image1";
2、在网页源代码的〈head〉与〈/head〉之间加上下面这段CSS代码:
〈style type="text/css"〉
〈!--
.style1 { position:absolute; top: 200px; left:180px;
background-color:#ccccff; visibility:hidden}
.style2 { position:absolute; top: 200px; left:180px;
background-color:#ccccff; }
.style3 { position:absolute; top: 190px; left:180px;
visibility:hidden}
.style4 { position:absolute; top: 190px; left:180px; }
--〉
〈/style〉
上述代码中的“top”、“left”的值用于定位文本和图片在网页中位置,“backgroud-color”用于确定文本的背景颜色,这些属性值要根据实际情况修改。visibility是决定当前对象是否显示的CSS属性,本例就是动态地改变这个属性值来达到效果的;
3、在“Text1 ”的那个“span”中加载CSS的“.style2”,让那段文本一开始是显示的,并再加载一个“onclick”触发事件,一旦这个事件发生,将做两件事,一是让“Text1”采用CSS的“.style1”,把文本隐藏;二是让“image1”采用CSS的“.style4”,让图象显示。这样,“Text1”及那段文本的代码是这样的:〈span id="text1" class="style2" onclick="document.all.text1.className=''style1''; document.all.image1.className=''style4'' "〉〈font color="#0000FF"〉鼠标在这段文字上单击,文字消失变为图象。在图象上单击,图象消失,恢复为文字。〈/font〉
〈/span〉
4、同样在“image1 ”的那个“span”中加载CSS的“.style3”,让那张图片一开始是隐藏的,并再加载一个“onclick”触发事件,一旦这个事件发生,将做两件事,一是让“Text1”采用CSS的“.style2”,把文本显示;二是让“image1”采用CSS的“.style3”,让图象隐藏。这样,“image1”及那张图片的代码是这样的:
〈span id="image1" class="style3" onclick="document.all.text1.className=''style2'';document.all.image1.
className=''style3'' "〉〈img src="aW1hZ2UvbGluZS5naWY=" width="316"
height="26"〉〈/span〉
上面代码中“img”中的代码在实际制作中将随插入图片的不同而改变。
本文标题为:用CSS实现文字变图象特效
- 深入浅析AjaxFileUpload实现单个文件的 Ajax 文件上传库 2022-12-15
- layui数据表格以及传数据方式 2022-12-13
- 基于CORS实现WebApi Ajax 跨域请求解决方法 2023-02-14
- jsPlumb+vue创建字段映射关系 2023-10-08
- JS实现左侧菜单工具栏 2022-08-31
- javascript 判断当前浏览器版本并判断ie版本 2023-08-08
- 1 Vue - 简介 2023-10-08
- vue keep-alive 2023-10-08
- ajax实现输入提示效果 2023-02-14
- 关于 html:如何从 css 表中删除边距和填充 2022-09-21