>웹 프론트엔드 >CSS 튜토리얼 >CSS를 사용하여 테두리 애니메이션 만들기

CSS를 사용하여 테두리 애니메이션 만들기

WBOY
WBOY앞으로
2023-09-08 08:57:091295검색

使用 CSS 创建边框动画

CSS는 웹 페이지에 움직임과 흥미를 더하는 아름답고 매력적인 테두리 애니메이션을 만드는 데 사용됩니다. 테두리 애니메이션을 만들려면 먼저 애니메이션을 적용할 요소에 대한 테두리를 정의해야 합니다.

CSS 전환 및 애니메이션을 사용하여 테두리에 움직임을 추가하세요.

테두리 애니메이션은 버튼, 링크 및 기타 대화형 요소에 호버 효과를 만드는 데 사용할 수 있습니다. 또한 페이지나 요소가 로드되는 동안 진행 상황을 표시하는 로딩 애니메이션을 만드는 데에도 사용할 수 있습니다. -더 눈에 띄게 만드는 작업 버튼.

접근 - 1

사용자가 요소 위로 마우스를 가져갈 때 요소의 테두리에 애니메이션을 적용하는 호버 효과를 만들어 보겠습니다.

알고리즘

  • HTML 문서를 만들고 제목을 "호버 효과 테두리 애니메이션"으로 정의합니다.

  • 문서 본문을 설정하고 Flexbox를 사용하여 상자 중앙에 배치하고 배경색을 #48b6ff로 지정합니다. 인라인 블록 디스플레이, 10px 패딩, 18px 글꼴 크기, 색상 #333 및 2px 투명 실선 테두리를 사용하여 상자 클래스를 정의합니다. 전환 시간은 0.5초이고 전환 효과는 쉽습니다.
  • 무한 지속 시간과 이지아웃 타이밍으로 테두리에 펄스 애니메이션을 추가하세요. 테두리를 빨간색에서 녹색, 파란색으로 페이드하고 마우스가 상자 위에 있을 때 진동하는 애니메이션을 비활성화합니다.

  • 테두리 색상을 빨간색에서 녹색, 파란색으로 변경하는 키프레임으로 펄스 애니메이션을 정의합니다. HTML 문서의 본문에 상자 클래스가 있는 div 요소를 추가합니다.

  • 호버 효과 테두리 애니메이션을 보려면 HTML 파일을 웹 브라우저에 저장하고 확인하세요.

Example

의 중국어 번역은

Example

입니다. 으아악

방법 - 2

여기에서는 로딩 아이콘 테두리에 애니메이션을 적용하여 로딩 애니메이션을 만들어 보겠습니다.

알고리즘

  • 선언을 사용하여 문서 유형을 HTML로 선언합니다.

  • 태그를 열어 HTML 문서를 시작하세요.

  • 태그 안에 태그를 추가하세요.

  • 태그 안에 태그를 추가하고 문서 제목을 "테두리 애니메이션 로드 중"으로 설정하세요. </p></li> <li><p><head> 태그 안에 <style> 태그를 추가하여 문서에 스타일을 추가하세요.</p></li> <li><p><style> 태그 안에 CSS 규칙을 추가하여 로딩 애니메이션 중앙 정렬 및 배경색 설정 등 <body> </p></li>크기, 모양, 테두리 색상 및 애니메이션 속성을 설정하여 로딩 애니메이션의 스타일을 지정하는 CSS 규칙을 추가하세요. <li><p> </p></li>@keyframes 규칙을 사용하여 "spin"이라는 애니메이션을 만듭니다. <li><p> </p></li>요소를 360도 회전하려면 변환 규칙을 추가하세요.<li><p> </p></li><body> 태그 안에 "loading" 클래스가 있는 <div> 요소를 추가하여 로딩 애니메이션을 표시하세요.<li> <p> </p> </li>Example</ul>의 중국어 번역은 <h3>Example</h3>입니다. 으아악 <h3>접근 - 3</h3> <h2>CSS를 사용하여 클릭 유도 문구 버튼에 테두리 애니메이션을 적용하겠습니다. </h2> <p>알고리즘</p> <h3> </h3> <ul class="list">컨테이너를 만들고 중앙에 배치하세요.<li><p> </p></li>처음에는 투명한 테두리와 전환 속성으로 요소의 스타일을 지정하여 0.5초 안에 테두리에 애니메이션을 적용합니다. <li><p> </p></li>빨간색, 녹색, 파란색의 세 가지 색상의 선형 그라데이션으로 테두리를 변경하는 요소에 대한 호버 효과를 만듭니다.<li><p> </p></li>시간이 지남에 따라 요소의 테두리 색상을 변경하려면 "border-pulse"라는 키프레임 애니메이션을 정의하세요. <li><p> </p></li>요소의 초기 상태에 "border-pulse" 애니메이션을 적용합니다. <li><p> </p></li>요소 위에 마우스를 올리면 "없음"으로 설정하여 "테두리 펄스" 애니메이션을 비활성화합니다.<li> <p> </p> </li>Example</ul>의 중국어 번역은 <h3>Example</h3>입니다. 으아악 <h3>결론</h3> <h2>그러나 테두리 애니메이션은 특히 과도하게 사용되거나 큰 요소에 적용될 때 성능 문제를 일으킬 수 있으며, 이로 인해 페이지 로드 시간이 느려지고 전반적인 성능이 저하됩니다. 일부 오래된 웹 브라우저는 특정 애니메이션 기술을 지원하지 않을 수 있습니다. </h2> <p>SVG 그래픽과 JavaScript를 사용하여 테두리 애니메이션을 만들 수도 있습니다. 더 복잡한 애니메이션이 가능하고 애니메이션에 대한 더 많은 제어 기능을 제공합니다. </p><p>위 내용은 CSS를 사용하여 테두리 애니메이션 만들기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!</p></div><div class="nphpQianMsg"><a href="javascript:void(0);">JavaScript</a> <a href="javascript:void(0);">css</a> <a href="javascript:void(0);">html</a> <a href="javascript:void(0);">define</a> <a href="javascript:void(0);">for</a> <a href="javascript:void(0);">while</a> <a href="javascript:void(0);">class</a> <a href="javascript:void(0);">display</a> <a href="javascript:void(0);">padding</a> <a href="javascript:void(0);">border</a> <a href="javascript:void(0);">background</a> <a href="javascript:void(0);">transform</a> <a href="javascript:void(0);">animation</a><div class="clear"></div></div><div class="nphpQianSheng"><span>성명:</span><div>이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제</div></div></div><div class="nphpSytBox"><span>이전 기사:<a class="dBlack" title="CSS3 팁: fit-content 속성을 가로 중앙에 적용" href="https://m.php.cn/ko/faq/604025.html">CSS3 팁: fit-content 속성을 가로 중앙에 적용</a></span><span>다음 기사:<a class="dBlack" title="CSS3 팁: fit-content 속성을 가로 중앙에 적용" href="https://m.php.cn/ko/faq/604033.html">CSS3 팁: fit-content 속성을 가로 중앙에 적용</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>관련 기사</h2><em><a href="https://m.php.cn/ko/article.html" class="bBlack"><i>더보기</i><b></b></a></em><div class="clear"></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="fluid" data-ad-layout-key="-6t+ed+2i-1n-4w" data-ad-client="ca-pub-5902227090019525" data-ad-slot="8966999616"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><ul class="nphpXgwzList"><li><b></b><a href="https://m.php.cn/ko/faq/841.html" title="CSS 작성 시 Border에 대해 주의해야 할 사항 요약" class="aBlack">CSS 작성 시 Border에 대해 주의해야 할 사항 요약</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/961.html" title="다중 스타일 선택 및 스타일 실시간 전환 구현 방법_경험 교환" class="aBlack">다중 스타일 선택 및 스타일 실시간 전환 구현 방법_경험 교환</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/1345.html" title="Marquee의 상세한 사용 분석" class="aBlack">Marquee의 상세한 사용 분석</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/269082.html" title="CSS标题线(删除线贯穿线效果)实现" class="aBlack">CSS标题线(删除线贯穿线效果)实现</a><div class="clear"></div></li><li><b></b><a href="https://m.php.cn/ko/faq/269606.html" title="CSS3中优雅降级和渐进增强的区别" class="aBlack">CSS3中优雅降级和渐进增强的区别</a><div class="clear"></div></li></ul></div></div><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-5902227090019525" data-ad-slot="5027754603"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({}); </script><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!</p></div><div class="footermid"><a href="https://m.php.cn/ko/about/us.html">회사 소개</a><a href="https://m.php.cn/ko/about/disclaimer.html">부인 성명</a><a href="https://m.php.cn/ko/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>