CSS로 빛나는 버튼 애니메이션 만들기
8018 단어 cssprogrammingwebdev
우리가 만들 것은 다음과 같습니다.
마크업
버튼의 HTML 마크업부터 시작하겠습니다.
<body>
<button class="button">Hover Me</button>
</body>
충분히 간단합니다. 수업 버튼이 있는 버튼이 있습니다. 우리는 CSS를 사용하여 나머지 마법을 수행할 것입니다.
스타일링
이 단계는 완전히 선택 사항입니다. 그러나 우리는 body 요소에 최소 높이 100vh를 추가하고 버튼을 더 잘 볼 수 있도록 CSS 그리드를 사용하여 콘텐츠를 수직 및 수평으로 화면 중앙에 배치합니다.
body {
height: 100vh;
background: #000;
display: grid;
place-items: center;
}
다음으로 버튼 스타일 지정을 시작합니다.
여기에 멋진 것은 없습니다. 버튼에 몇 가지 기본 스타일을 추가했습니다. 우리는 border-radius: 50px; 버튼 모서리가 둥글게 됩니다. 또한 position:relative;를 추가했습니다. 버튼 글로우 효과를 버튼에 절대적으로 배치할 수 있습니다.
.button {
position: relative;
height: 60px;
width: 200px;
margin: 0 35px;
border-radius: 50px;
border: none;
outline: none;
background: #000;
color: #fff;
font-size: 20px;
letter-spacing: 2px;
text-transform: uppercase;
cursor: pointer;
}
버튼에 빛나는 효과를 추가하기 위해 버튼에 :before 가상 요소를 사용할 것입니다. 따라서 버튼에 절대적으로 배치합니다. 또한 각 면에 -5px를 추가하여 글로우 효과가 각 면의 버튼 외부에서 5px가 되도록 합니다.
여기서 주목해야 할 가장 중요한 사항은 filter: blur(20px);를 추가했다는 것입니다. 글로우에 20px의 흐림 효과를 주기 위해 opacity: 0을 지정했습니다. 글로우 효과는 기본적으로 숨겨집니다. 또한 transition: opacity 0.5s를 추가했습니다. 글로우 효과가 부드럽게 나타나고 사라지도록 합니다.
배경: 상속; 가리키면 단추에서 그라데이션 배경색을 상속하는 데 사용됩니다.
.button:before {
content: '';
position: absolute;
background: inherit;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
border-radius: 50px;
filter: blur(20px);
opacity: 0;
transition: opacity 0.5s;
}
이제 재미있는 부분을 위해 :hover 의사 선택기를 사용하여 사용자가 버튼 위로 마우스를 가져갈 때 버튼에 스타일을 추가합니다.
여기에서는 90도 방향의 4가지 색상으로 버튼 배경으로 선형 그래디언트를 추가했습니다. 우리는 background-size: 400%; 애니메이션이 진행 중일 때 각 그라데이션 색상이 버튼 배경의 100% 너비를 차지하도록 합니다. 또한 z-index: 1; 버튼 텍스트가 글로우 효과 위에 오도록 합니다. 마지막으로 애니메이션을 추가했습니다. 글로우 8s 선형 무한; 버튼을 가리키면 무한히 빛나는 효과를 줍니다. 다음 단계에서 애니메이션 글로우를 정의합니다.
마찬가지로 opacity: 1; 및 z-지수: -1; 버튼을 가리키고 있을 때 버튼의 :before 의사 요소로. 이렇게 하면 글로우가 표시되고 버튼을 가리키면 글로우 위에 버튼 텍스트가 표시됩니다.
.button:hover {
background: linear-gradient(90deg, #03a9fa, #f441a5, #ffeb3b, #03a9f4);
background-size: 400%;
z-index: 1;
animation: glow 8s linear infinite;
}
.button:hover:before {
opacity: 1;
z-index: -1;
}
마지막으로 글로우 키프레임 애니메이션을 추가합니다.
여기에서 우리는 background-position: 0%; 애니메이션 및 배경 위치의 0%에서: 400%; 100%에서 버튼의 배경 위치를 점차적으로 변경합니다. 이전 단계에서 정의한 애니메이션의 8초 지속 시간과 결합하면 버튼 배경 위치가 부드럽게 변경되고 각 그라데이션 색상이 측면에서 나타나고 사라지게 됩니다.
@keyframes glow {
0% {
background-position: 0%;
}
100% {
background-position: 400%;
}
}
그게 다야, 몇 가지 간단한 단계로 빛나는 버튼을 만들었습니다. 색상, 배경 크기 및 애니메이션의 지속 시간을 가지고 놀면서 다른 결과를 얻을 수 있습니다.
Codepen에서 이 자습서의 소스 코드를 찾을 수 있습니다.
Reference
이 문제에 관하여(CSS로 빛나는 버튼 애니메이션 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/iamamanxz/create-a-glowing-button-animation-with-css-4jmp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)