zoukankan      html  css  js  c++  java
  • 文字从中间向两边延展

    <p class="reveal">纯css由中间向两边延展</p>
    

     css:

    body{
                display: flex;
                height: 100vh;
                justify-content: center;
                align-items: center;
                text-align: center;
                background: #222;
            }
            .reveal{
                position: relative;
                display: flex;
                color: #6ee1f5;
                font-size: 2em;
                font-family: Raleway, sans-serif;
                letter-spacing: 3px;
                /*text-transform: uppercase;*/
                /*white-space: pre;*/
            }
            span{
                opacity: 0;
                transform: scale(0);
                animation: fadeIn 2.4s forwards;
            }
            .reveal::before,.reveal::after{
                position: absolute;
                content: "";
                top: 0;
                bottom: 0;
                 2px;
                height: 100%;
                background: white;
                opacity: 0;
                transform: scale(0);
            }
            .reveal::before{
                left: 50%;
                animation: slideLeft 1.5s cubic-bezier(0.7, -0.6, 0.3, 1.5) forwards;
            }
            .reveal::after{
                right: 50%;
                animation: slideRight 1.5s cubic-bezier(0.7, -0.6, 0.3, 1.5) forwards;
            }
            @keyframes fadeIn {
                to {
                    opacity: 1;
                    transform: scale(1);
                }
            }
    
            @keyframes slideLeft {
                to {
                    left: -6%;
                    opacity: 1;
                    transform: scale(0.9);
                }
            }
    
            @keyframes slideRight {
                to {
                    right: -6%;
                    opacity: 1;
                    transform: scale(0.9);
                }
            }
    

      js:

      var duration = 0.8;
            var delay = 0.3;
            var revealText = document.querySelector(".reveal");
            var letters = revealText.textContent.split("");
            revealText.textContent = ""; // 清空文本节点
    //        var middle = letters.filter(e => e !== " ").length / 2
            var middle = letters.length/2;
            letters.forEach((letter, i) => {
                var span = document.createElement("span");
                span.textContent = letter;
                span.style.animationDelay = `${delay + Math.abs(i - middle) * 0.1}s`;
                revealText.append(span)
            })
    

      

     

  • 相关阅读:
    java之内部类与匿名内部类
    学习Android之内部类
    Android横竖屏切换总结
    java实现快速排序
    Palindrome Partitioning II
    Palindrome Partitioning
    Clone Graph
    Word Break
    Gas Station
    Candy
  • 原文地址:https://www.cnblogs.com/ly-qingqiu/p/12186173.html
Copyright © 2011-2022 走看看