用CSS或js如何实现字体渐渐消失

html-css019

用CSS或js如何实现字体渐渐消失,第1张

无论css还是js,都有好多种方法能实现,写个简单的例子给你

jquery写法(需要加载jquery文件),如下:

<h1 class="demo">测试文字,测试文字,测试文字</h1> $(".demo").hover(function(){

  $(this).fadeOut(1000)

})

css写法,如下:

<h1 class="demo">测试文字,测试文字,测试文字</h1> .demo{

    transition: 1s

    -moz-transition: 1s

    -webkit-transition: 1s

    -o-transition: 1s

}

.demo:hover{

    opacity: 0

}

我使用setTimeout() 来延时一秒,但没有效果,不知道什么地方出错了,现列出基本代码,请大家指正。

首先,在DIV中添加了鼠标动作:<DIV id="xiexiedajia" onmouseover="showlink()" onmouseout="closelink()">

Javascript代码如下

JavaScript code

?

1

2

function closelink(){window.setTimeout('closel()',1000)}

function closel(){document.getElementById("xiexiedajia").style.display="none"}

实现延时一秒的作用是当用户将鼠标点在菜单并往右移动时,偶尔可能移出菜单,这时候菜单就会消失,用户又要重新点开菜单,很不爽,希望能够在鼠标移出很短时间内菜单仍旧存在,这时候用户鼠标又移入时菜单还在。

当用户将鼠标移出超过1秒后就认为用户本身不想使用菜单了,这时候菜单就消失。

这是一款很酷的带定时消失功能的css3消息提示框插件。

HTML

html结构非常简单:用一个wrapper div作为包裹容器,里面放一个用于显示信息的p标签和一个用来做进度条的div。

Your settings have been saved successfully!

为了给包裹div设置不同的颜色,给它设置两个class:tn-box和tn-box-color-1。

CSS

.tn-box {

width: 360px

position: relative

margin: 0 auto 20px auto

padding: 25px 15px

text-align: left

border-radius: 5px

box-shadow:

0 1px 1px rgba(0,0,0,0.1),

inset 0 1px 0 rgba(255,255,255,0.6)

opacity: 0

cursor: default

display: none

}

.tn-box-color-1{

background: #ffe691

border: 1px solid #f6db7b

}

设置包裹div的初始dispaly:none,并给设置它的透明度为0。

进度条的样式如下:

.tn-progress {

width: 0

height: 4px

background: rgba(255,255,255,0.3)

position: absolute

bottom: 5px

left: 2%

border-radius: 3px

box-shadow:

inset 0 1px 1px rgba(0,0,0,0.05),

0 -1px 0 rgba(255,255,255,0.6)

}

动画开始前,进度条的宽度为0。

在demo中,使用一个checkbox来作为按钮触发消息提示框动画。

input.fire-check:checked ~ section .tn-box {

display: block

animation: fadeOut 5s linear forwards

}

input.fire-check:checked ~ section .tn-box .tn-progress {

animation: runProgress 4s linear forwards 0.5s

}

因为按钮的动作发生在消息提示框之前,所以可以使用一般通用选择器来完成按钮操作。

如果你想使用javascript来完成按钮动作,你可以像下面这样写样式:

.tn-box.tn-box-active {

display: block

animation: fadeOut 5s linear forwards

}

.tn-box.tn-box-active .tn-progress {

animation: runProgress 4s linear forwards 0.5s

}

tn-box-active是在按钮按下时被加到tn-box div中的class。

下面是消息框淡入淡出动画效果:

@keyframes fadeOut {

0% { opacity: 0}

10% { opacity: 1}

90% { opacity: 1transform: translateY(0px)}

99% { opacity: 0transform: translateY(-30px)}

100% { opacity: 0}

}

下面是进度条的动画效果:

@keyframes runProgress {

0% { width: 0%background: rgba(255,255,255,0.3)}

100% { width: 96%background: rgba(255,255,255,1)}

}

我们使它运动到进度条宽度的96%,颜色上使用RGBA。