用CSS控制的闪烁效果

  一段文本或一张图片,它的周围有一圈光晕,这圈光晕每一秒钟闪烁一次,而当鼠标移到上面时,立即停止闪烁,当鼠标移开时又继续闪烁。这种效果用于那些需要特别引起别人注意的内容上(如:警示、报告新增内容等),能起到较好的效果。

  上面这个示例就能实现上面所的效果,由于这里是抓取的一张图片,不能看到动态效果,只要按下面介绍的方法,制作一个试试,其效果是一目了然的。其制作思路是:采用了CSS的“Glow”滤镜产生光晕效果,利用CSS的属性可动态改变的特性,用一小段javascript程序来每一秒钟改变一次属性值,从而实现闪烁的效果,再用两个事件(onmouseover和onmouseout)调用Javascript程序来控制是否闪烁。

  制作方法:

  1、制作一个Glow滤镜,CSS滤镜的设置方法请参看“CSS滤镜应用技巧”的有关文章。在此不再重复。不是使用Dreamweaver的网友,请把下面的代码复制到网页源代码的〈head〉与〈/head〉之间:

  〈style type="text/css"〉

  〈!--

  .glow1 { filter:glow(color=#FF0000,strengh=2)}

  --〉

  〈/style〉

  2、插入一个图层,取名为:bob。在图层上写上一段文字。再在图层上加载一个Glow滤镜,并加上两个事件以实现当鼠标移到文字上时强制停止闪烁,当鼠标移开文字时继续闪烁。代码:onclick="stopflash(this)",这句代码的作用是:一旦鼠标移到文字上,将调用程序的“stopflash(this)”函数来停止闪烁; onmouseout="init()",这句代码的作用是:一旦鼠标移开文字,将调用程序的“init()”函数来使光晕闪烁。本例完成后图层标记的代码是这样的:

  〈div id="bob" style="position:absolute; width:572px; height:35px; z-index:1" class="glow1" onmouseover="stopflash(this)" onmouseout="init()"〉

  3、在〈head〉与〈/head〉之间插入这样一段Javascript程序:

  〈script 〉

  〈!--

  function init() // 光晕开始闪烁

  {

  makeflash(bob);

  }

  function makeflash(obj)

  {

  obj.flashTimer=setInterval("bob.filters.glow.enabled= !bob.filters.glow.enabled",1000)

  } // 这里的“1000”是闪烁的时间,以毫秒计,在本例中是设置了1000毫秒(即1秒),可以根据需要修改。

  function stopflash(obj) // 光晕停止闪烁

  { clearInterval(obj.flashTimer)

  }

  //--〉

  〈/script〉
  4、在网页源代码的〈body〉标记中加上这样一段代码:onload="init()"。这句代码的作用是当网页载入时,光晕开始闪烁。

  至此,制作结束,按F12就可看到预期的效果了。

  光晕的颜色和光晕的长度均可修改CSS滤镜中的参数值来改变,光晕闪烁的时间间隔可通过修改Javascript中的间隔时间值来调整。若是在图层中插入图片(透明背景的gif图片效果更好),则变为图片边缘的光晕闪烁效果。

(0)

相关推荐

  • 用CSS控制的闪烁效果

    一段文本或一张图片,它的周围有一圈光晕,这圈光晕每一秒钟闪烁一次,而当鼠标移到上面时,立即停止闪烁,当鼠标移开时又继续闪烁.这种效果用于那些需要特别引起别人注意的内容上(如:警示.报告新增内容等),能起到较好的效果. 上面这个示例就能实现上面所的效果,由于这里是抓取的一张图片,不能看到动态效果,只要按下面介绍的方法,制作一个试试,其效果是一目了然的.其制作思路是:采用了CSS的"Glow"滤镜产生光晕效果,利用CSS的属性可动态改变的特性,用一小段javascript程序来每一秒钟改变

  • CSS控制图片大小-适应宽度

    不知道家有没有遇到过这样的情况:在CSS控制图片大小时,如果把图片的宽度写死,比如 img{width:500px;} ,固然,如果图片宽度大于500px可以很好的控制它不让它过大,但如果图片宽度小于500px,比如说只有100px时,刚才的写法会把这张图扩大5倍显示,显然,这不是我们想看到的. 那么,CSS如何可以区分对待这些图片设置大小呢?很简单,请看: 复制代码 代码如下: img{width:expression(this.width>500?"500px":this.w

  • asp.net css控制打印功能方法实例

    复制代码 代码如下: <style type="text/css">@media print//表示打印的时候.{    #nok{display:none;}//表示 id 为nok 的控件不显示.}</style> <div style="text-align: right;" id="nok">                已经上了                <%=shke.ToString(

  • JavaScript+CSS控制打印格式示例介绍

    1. 用media="print"的css来控制要打印的文件testPrint.html中引用media为print的样式,表示打印时该样式才起作用 复制代码 代码如下: <link href="/style/print.css" rel="stylesheet" type="text/css" media="print"> /style/print.css文件 复制代码 代码如下: .nopr

  • 用CSS控制表格或单元格强制换行,防止表格被英文单词或中文撑大

    对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行 html <div id="wrap">正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义</div> css #wrap{white-space:normal; width:200px; } 1.(IE浏览器)连续的英文字符和阿拉伯数字,使用word-wrap : break

  • CSS控制文本自动换行的问题

    用表格做网页排版的时候,一般都能正常使用.偏偏有时会碰到一段连续的英文词或者一堆感叹号(!!!)把网页就撑开的现象:( 总结了一下,只要在CSS中定义了如下句子,可保网页不会再被撑开了. table{table-layout: fixed;} td(word-break: break-all; word-wrap:break-word;) 注释一下: 1.第一条table{table-layout: fixed;},此样式可以让表格中有!!!(感叹号)之类的字符时自动换行. 2.td{word-

  • 利用CSS控制SELECT中的OPTION是否不允许选

    .disabled { } .disabled optgroup{ font-size: 12px; font-style: normal; font-weight: normal; font-variant: normal; color:#CCCCCC; background-color: #F5F5F5; } .disabled option { padding-left:0px; } General Motors Ford Motor Company DaimlerChrysler 用这种

  • CSS网页布局入门教程11:带当前标识的标签式横向导航图片美化版

    虽然完成了标签式导航,但是广场状的导航似乎并不能够顺应现在的设计潮流,其实导航不仅可以使用css的颜色来定义,同样可以采用精心设计的图片或其它元素来构建导航,在这里我们将开始改善导航的设计,使它成为更加出色的标签效果. 我们将考虑去掉单一的方块状背景元素,使用带色彩的圆角标签来完成我们的设计.不过从这个改进中能够体会到css设计的另一个优势,就是可以不需要修改结构代码,只需要修改样式,便可以完成改进,所以这里可以直接看看css代码的设计: <style> body { background-c

  • 第8天:CSS布局入门

    CSS布局与传统表格(table)布局最大的区别在于:原来的定位都是采用表格,通过表格的间距或者用无色透明的GIF图片来控制文布局版块的间距:而现在则采用层(div)来定位,通过层的margin,padding,border等属性来控制版块的间距. 1.定义DIV 分析一个典型的定义div例子: #sample{ MARGIN: 10px 10px 10px 10px;PADDING:20px 10px 10px 20px; BORDER-TOP: #CCC 2px solid;BORDER-R

  • DOM基础教程之使用DOM控制表格

    表格的css控制就先不说了,首先分享下表格常用的DOM 表格添加操作的方法常用的为insertRow()和insertCell()方法. row是从零开始计算起的,例如: 复制代码 代码如下: var oTr = document.getElementById("member").insertRow(2) 是指将新行添加到第二行. 复制代码 代码如下: var aText = new Array(); aText[0] = document.createTextNode("f

随机推荐