六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

CSS3里如何完成打字動畫

[摘要]相較于之前的CSS版本,我們利用css3可以實現很多炫酷的東西,比如老版的CSS無法實現的打字動畫。下面我們就給大家帶來一個小案例,看看酷炫的打字動畫是怎么做出來的。<!DOCTYPE html><html><head><meta charset=&quo...
相較于之前的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的這個功能,更多精彩請關注php中文網其它相關文章!


相關閱讀:

CSS3里怎么實現loading動畫效果

CSS3里怎么實現單選框動畫特效

CSS里的if條件hack怎么寫

以上就是CSS3里怎么實現打字動畫的詳細內容,更多請關注php中文網其它相關文章!


網站建設是一個廣義的術語,涵蓋了許多不同的技能和學科中所使用的生產和維護的網站。




主站蜘蛛池模板: 日韩欧美高清在线观看 | 四虎澳门永久8848在线影院 | 欧美一级一级做性视频 | 婷婷久月| 私色综合网 | 亚洲一级毛片 | 深爱激情五月婷婷 | 欧洲另类一二三四区 | 最近免费观看高清韩国日本大全 | 欧美无遮挡一区二区三区 | 亚洲成人福利在线 | 日韩成人影片 | 日韩精品一区在线观看 | 日本在线观看网址 | 亚洲精品视频在线播放 | 亚洲最新永久观看在线 | 综合激情婷婷 | 欧美一级淫片免费播放口 | 午夜影视免费完整高清在线观看网站 | 欧美无人区码卡二三卡四卡 | 日韩夜夜操 | 日本乱码视频a | 欧美一区精品 | 日韩va亚洲va欧美va浪潮 | 一级一级一级毛片免费毛片 | 色播激情五月 | 一级成人a做片免费 | 日本欧美在线 | 亚洲欧洲精品在线 | 日日夜夜免费视频 | 四虎私人影院 | 青青草国产免费久久久91 | 日本中文在线观看 | 日韩美女一级片 | 亚洲欧美综合网 | 日本国产在线视频 | 亚洲国产欧美在线人成精品一区二区 | 性荡视频| 婷婷丁香综合网 | 日本aⅴ永久免费网站www | 青青青国产视频 |