发布网友
共3个回答
懂视网
本篇文章给大家带来的内容是关于css实现滚动文字的实例代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
图片描述:箭头指向部分,以白色为背景,从左向右滚动。(不适用于IE)
<div> 例子: <div class="box"> <span class="box-text">滚动的文字,我是滚动的文字</span> </div> </div>
.box { height: auto; background-color: blue; } .box-text{ color: white; background: -ms-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d)); background: -webkit-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d)); background-clip: text; -webkit-text-fill-color: transparent; animation: slidetounlock 3s infinite; -webkit-animation: slidetounlock 3s infinite; } @-webkit-keyframes slidetounlock{ 0% { background-position:-200px 0 } 100% { background-position:200px 0 } }
1、动画效果
@-webkit-keyframes
定义一组动画,在本动画中,将背景的位置进行了改变(注意是文本的位置)
2、背景为何选择到文本而不是整块背景?
background-clip: text; 作用:指定绘图区的背景 除了text外,还包括 :border-box|padding-box|content-box;三个属性
3、怎么实现一小段的变化效果的呢?
gradient()
作用:渐变
从实际效果中看到,白色部分之外都是灰色,越是靠近白色,就越白。
-ms-gradient(linear,left top,right top,color-stop(0,#4d4d4d),color-stop(.4,#4d4d4d),color-stop(.5,#fff),color-stop(.6,#4d4d4d),color-stop(1,#4d4d4d));
说明:渐变类型,线性渐变(z=x*y)
to left:
设置渐变为从右到左。相当于: 270deg
to right:
设置渐变从左到右。相当于: 90deg
to top:
设置渐变从下到上。相当于: 0deg
to bottom:
设置渐变从上到下。相当于: 180deg。这是默认值,等同于留空不写。
这样就实现了渐变字体部分
-webkit-text-fill-color: transparent;
字体填充颜色:继承与背景,所以字体颜色为设置的box-text的background ,而非box的背景颜色。
就这样加上一个动画,循环移动,就是实现了。
热心网友
给你一段代码你自己按照实际情况修改就ok了。主要是吧你要滚动的文字放在中间
<div id="mq" style="width:100%;height:70px;overflow:hidden" onmouseover="iScrollAmount=0"
onmouseout="iScrollAmount=1">
你要滚动的文字
</div>
<script>
var oMarquee = document.getElementById("mq"); //滚动对象
var iLineHeight = 42; //单行高度,像素
var iLineCount = 7; //实际行数
var iScrollAmount = 1; //每次滚动高度,像素
function run() {
oMarquee.scrollTop += iScrollAmount;
if ( oMarquee.scrollTop == iLineCount * iLineHeight )
oMarquee.scrollTop = 0;
if ( oMarquee.scrollTop % iLineHeight == 0 ) {
window.setTimeout( "run()", 0 );
} else {
window.setTimeout( "run()", 50 );
}
}
oMarquee.innerHTML += oMarquee.innerHTML;
window.setTimeout( "run()", 0 );
</script>
热心网友
试试下面这个
<body>
<style>
.left_body{color:red;font-size:12px;line-height:18px;}
</style>
<div id="left_body">
{网站公告}<br>
</div>
<script language="JavaScript">
left_bodyHeight=200;
stopscroll=false;
with(left_body){
style.width=0;
style.height=left_bodyHeight;
style.overflowX="visible";
style.overflowY="hidden";
noWrap=true;
onmouseover=new Function("stopscroll=true");
onmouseout=new Function("stopscroll=false");
}
document.write('<div id="templayer" style="position:absolute;z-index:1;visibility:hidden"></div>');
preTop=0; currentTop=0;
function init(){
templayer.innerHTML="";
while(templayer.offsetHeight<left_bodyHeight){
templayer.innerHTML+=left_body.innerHTML;
}
left_body.innerHTML=templayer.innerHTML+templayer.innerHTML;
setInterval("scrollUp()",10);
}
document.body.onload=init;
function scrollUp(){
if(stopscroll==true) return;
preTop=left_body.scrollTop;
left_body.scrollTop+=1;
if(preTop==left_body.scrollTop){
left_body.scrollTop=templayer.offsetHeight-left_bodyHeight;
left_body.scrollTop+=1;
}
}
</script>
</body></html>