最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

CSS3里怎么实现打字动画

来源:动视网 责编:小采 时间:2020-11-27 15:27:40
文档

CSS3里怎么实现打字动画

CSS3里怎么实现打字动画:相较于之前的CSS版本,我们利用css3可以实现很多炫酷的东西,比如老版的CSS无法实现的打字动画。下面我们就给大家带来一个小案例,看看酷炫的打字动画是怎么做出来的。<!DOCTYPE html> <html> <head> <meta cha
推荐度:
导读CSS3里怎么实现打字动画:相较于之前的CSS版本,我们利用css3可以实现很多炫酷的东西,比如老版的CSS无法实现的打字动画。下面我们就给大家带来一个小案例,看看酷炫的打字动画是怎么做出来的。<!DOCTYPE html> <html> <head> <meta cha


相较于之前的CSS版本,我们利用css3可以实现很多炫酷的东西,比如老版的CSS无法实现的打字动画。下面我们就给大家带来一个小案例,看看酷炫的打字动画是怎么做出来的。

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8" />
 <title>Document</title>
 <style type="text/css" media="screen">
 .box {
 width:100%;
 height:500px;
 text-align:center;
 position:relative;
 }
 .container {
 width:80%;
 height:400px;
 border:1px solid red;
 text-align:left;
 margin:0 auto;
 }
 .container span {
 display:inline-block;
 border:1px solid red;
 transition: all 2s;
 transform:translateY(0px) rotate(0deg);
 font-size:14px;
 }
 textarea {
 width:200px;
 resize:none;
 height:20px;
 line-height:20px;
 padding:10px 0px;
 font-size:14px;
 font-weight:400;
 }
 .clone {
 font-size:14px;
 border:1px solid red;
 width:80%;
 height:20px;
 margin:0 auto;
 line-height:20px;
 padding:10px 0px;
 text-align:left;
 visibility:hidden;
 }
 .clone span {
 transition:all 2s;
 position:absolute;
 }
 
 </style>
</head>
<body>
 <div>
 <div>
 
 </div>
 <div>
 <span></span>
 </div>
 <textarea placeholder="请输入文字"></textarea>
 </div>
</body>
 <script>
 //计算出input输入框的偏移值
 var container = document.querySelector(".container");
 var inner = document.querySelector(".inner");
 var clone = document.querySelector(".clone");
 var textarea = document.querySelector(".textarea");
 var offx = (container.offsetWidth - textarea.offsetWidth-20)/2;
 var offy = (container.offsetHeight + inner.offsetHeight);
 
 //创造一个span标签 需要注入需要注入起始坐标
 function createspan(text,x,y) {
 this.text = text;
 this.x = x;
 this.y = y;
 this.init = {};
 }
 createspan.prototype.render = function() {
 var span = document.createElement("span");
 container.appendChild(span);
 span.style.display = "inline-block";
 span.style.transform = "translateX("+this.x+"px) translateY("+this.y+"px) rotate(720deg)";
 span.style.transition = "all 2s";
 span.innerHTML = this.text;
 this.init = span;
 }
 createspan.prototype.recover = function() {
 var that = this;
 setTimeout(function(){
 that.init.style.transform = "translateX(0px) translateY(0px) rotate(0deg)";
 },10)
 }
 var newtext = "";
 var oldtext = "";
 var x = 0;
 var y = 0;
 var total = "";
 //监听textarea文本框的输入变化情况
 textarea.addEventListener("input",function(){
 var text = "";
 if (inner.offsetWidth >= container.offsetWidth ) {
 offx = (container.offsetWidth - textarea.offsetWidth-20)/2 - textarea.offsetWidth;
 }
 else if (inner.offsetWidth >= textarea.offsetWidth*3) {
 offx = (container.offsetWidth - textarea.offsetWidth-20)/2 - textarea.offsetWidth*3;
 }
 else if (inner.offsetWidth >= textarea.offsetWidth*2) {
 offx = (container.offsetWidth - textarea.offsetWidth-20)/2 - textarea.offsetWidth*2;
 } else if(inner.offsetWidth>=textarea.offsetWidth) {
 offx = (container.offsetWidth - textarea.offsetWidth-20)/2 - textarea.offsetWidth;
 }
 
 //先算文字的变化 两种情况一种是增加一种是减少
 newtext = textarea.value;
 oldtext = inner.innerHTML;
 newtext = newtext.trim();
 //添加字符
 if(newtext.length > oldtext.length) {
 for(var i = 0;i < newtext.length;i++) {
 if(newtext[i] != oldtext[i]) {
 text += newtext[i];
 inner.innerHTML = newtext;
 }
 }
 total += text;
 // 生成
 for(var i =0;i < text.length;i++) {
 
 var a = new createspan(text[i],offx,offy);
 a.render();
 a.recover();
 }
 }
 //删除字符
 
 })
 </script>
</html>

相信通过这个案列大家会熟练的掌握CSS3的这个功能,更多精彩请关注Gxl网其它相关文章!

相关阅读:

CSS3里怎么实现loading动画效果

CSS3里怎么实现单选框动画特效

CSS里的if条件hack怎么写

文档

CSS3里怎么实现打字动画

CSS3里怎么实现打字动画:相较于之前的CSS版本,我们利用css3可以实现很多炫酷的东西,比如老版的CSS无法实现的打字动画。下面我们就给大家带来一个小案例,看看酷炫的打字动画是怎么做出来的。<!DOCTYPE html> <html> <head> <meta cha
推荐度:
标签: 打字 动画 实现
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top