[PURE CSS] svg 없는 테두리 애니메이션

2739 단어 codepen
나는 당신이 우리와 공유한 코드를 개선했습니다. 이제 가변 크기로 작동하고 모든 곳에 배치할 수 있습니다. 아마도 관심을 가질 것입니다 :)

다음은 파일에 넣을 수 있는 CSS입니다.

:root {
    --box-width: 200px;
    --box-lenght: 200px;

    --box-animation-width: calc(var(--box-width) + 20px);
    --box-animation-lenght: calc(var(--box-lenght) + 20px);
}

.animbox::before,
.animbox::after,
.animbox {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.animbox {
    width: var(--box-width);
    height: var(--box-lenght);
    margin: auto;
    color: #69ca62;
    box-shadow: inset 0 0 0 1px rgba(105, 202, 98, 0.5);
}

.animbox::before,
.animbox::after {
    content: "";
    z-index: -1;
    margin: -10px;
    box-shadow: inset 0 0 0 2px;
    animation: clipMe 8s linear infinite;
}

.animbox::before {
    animation-delay: -4s;
}

.animbox:hover::after,
.animbox:hover::before {
    background-color: rgba(255, 0, 0, 0.3);
}

@keyframes clipMe {
    0% {
        clip: rect(0px, var(--box-animation-width), 2px, 0px); /*  ligne du haut */
    }
    25% {
        clip: rect(0px, 2px, var(--box-animation-lenght), 0px); /* ligne de gauche */
    }
    50% {
        clip: rect(calc(var(--box-animation-lenght) - 2px), var(--box-animation-width), var(--box-animation-lenght), 0px); /*  ligne du bas */
    }
    75% {
        clip: rect(0px, var(--box-animation-width), var(--box-animation-lenght), calc(var(--box-animation-width) - 2px) ); /* ligne de droite */
    }
    100% {
        clip: rect(0px, var(--box-animation-width), 2px, 0px); /* ligne du haut */
    }
}

html,
body {
    height: 100%;
}

body {
    background-color: #0f222b;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

.animboxpospadding {
    padding-top: 250px;
    position: relative;
    margin: 50px;
}


상대 위치와 함께 사용하려면 다음을 수행하십시오.

<div class="animboxpospadding">    
        <div>
            <div class="animbox"></div>
        </div>
    </div>


이것이 어떻게 여러분에게 유용할 수 있습니까?


단일 요소 애니메이션 아이콘~

에서 영감을 받다:
http://tympanus.net/Tutorials/BorderAnimationSVG/
&
http://mopcon.org/2014/news.php

브라우저 지원:

  • animation : IE10+

  • clip : 모든 브라우저
  • 좋은 웹페이지 즐겨찾기