用CSS实现文字变图象特效

(编辑:jimmy 日期: 2024/12/25 浏览:2)

  一段文字,当鼠标在文字上面单击,文字消失,原来文字的地方却立即变成了一张图片,当鼠标在图片上单击,图片又消失,原来的文字又重现了,像变魔术一样,是不是有意思?!这种效果用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="/UploadFiles/2021-04-02/line.gif">

  height="26"〉〈/span〉

  上面代码中“img”中的代码在实际制作中将随插入图片的不同而改变。