순수한 CSS3 드로잉 라이터 애니메이션 불꽃 효과 샘플 코드
이 글의 예시는 참고용으로 순수 CSS3를 사용하여 가벼운 애니메이션의 불꽃 효과를 그리는 구체적인 코드를 공유합니다.
주로 다음과 같은 속성이 포함됩니다. :
<span style="font-family:Comic Sans MS;">animation(webkit-animation), @keyframes name (@-webkit-keyframes name), transform, transform-origin, transition, box-shadow(spread属性), text-shadow z-index linear-gradient。 radial-gradient background-image </span>
먼저 html 코드는 다음과 같습니다.
<span style="font-family:Comic Sans MS;"><!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>纯CSS绘制打火机动画火焰特效</title> <link rel="stylesheet" href="css/style.css"> </head> <body class="keBody"> <h1 class="keTitle">纯CSS3绘制打火机动画火焰特效</h1> <p class="kePublic"> <p class="playground"> <p class="flame"></p> <p class="lighterBody"> <p class="hover">hover me</p> </p> <p class="lid"></p> </p> <p class="clear"></p> </p> </body> </html></span>
style.css 파일은 다음과 같습니다.
<span style="font-family:Comic Sans MS;">@charset "utf-8"; body{ margin:0; padding:0; color:#333; text-align:center; font:12px "微软雅黑"; } :before,:after{ position:absolute; content:""; } .keBody{ background:url(../images/bodyBg.jpg) repeat #333; } .keTitle{ height:100px; line-height:100px; font-size:30px; font-family:'微软雅黑'; color:#fff; text-align:center; background:url(../images/bodyBg3.jpg) repeat-x bottombottom left; font-weight:normal; margin-bottom:0; } .kePublic{ background:#cccccc; padding:50px; } .playground{ position:relative; width:140px; height:400px; left:50%; margin-left:-70px; } .flame{ opacity: 0; position: absolute; bottombottom: 60%; left: 42%; width: 14px; height: 70px; background-color: white; border-radius: 100% 100% 0 0; box-shadow: 0 0 20px #FFFEF0, 0 0 20px #FFFEE6, 0 0 20px #fefcc9, 10px -10px 30px #feec85, -20px -20px 40px #ffae34, 20px -40px 50px #ec760c, -20px -60px 60px #cd4606, 0 -80px 70px #973716, 10px -90px 80px #451b0e; } .playground:hover .flame { opacity:1; transition:opacity 3s linear; -webkit-animation:flame 1s infinite linear; } .playground:hover .lid{ -webkit-animation:lidoff 1s linear; /*把物体动画地从一个地方移动到另一个地方,并让它停留在那里:*/ -webkit-animation-fill-mode:forwards; } .lighterBody{ position:absolute; width:140px; height:130px; top:200px; left:0; background-image:linear-gradient(to rightright,#959595 0%,#0d0d0d 46%,#010101 50%,#0a0a0a 53%, #4e4e4e 76%,#383838 87%,#1b1b1b 100%); border-radius:2% 2% 8% 8%; box-shadow:inset 0 0 5px 5px #333; } .lighterBody:before{ width:47px; height:47px; top:-50px; left: 42px; content:"..."; color:#e6e6e6; border-radius:6% 6% 0 0; background-image:linear-gradient(to rightright,#f5f5f5 0%,#dbdce2 21%,#b8bac6 49%,#dddfe3 80%,#f5f6f6 100%); font-size:30px; font-weight:bold; letter-spacing:7px; line-height:16px; text-shadow:0 0 5px black; padding-top:3px; padding-left:4px; } .lighterBody:after{ width:33px; height:33px; background-image:radial-gradient(ellipse at center,#7d737d 0%,#0e0e0e 100%); border-radius:100%; top:-33px; left:10px; box-shadow:inset 0 0 1px 2px gray; } .lid{ z-index:2; position:absolute; width:140px; height:75px; top:125px; left:0; background:linear-gradient(to rightright,#959595 0%,#0d0d0d 46%, #010101 50%, #0a0a0a 53%, #4e4e4e 76%, #383838 87%, #1b1b1b 100%); border-radius:8% 8% 2% 2%; box-shadow:inset 0 0 5px 5px #333; /*border-bottom:3px solid #f2f2f2;*/ } .lid:before{ width:10px; height:10px; top:70px; left:133px; background-image:radial-gradient(ellipse at center, #959595 0%, #0d0d0d 46%, #010101 50%, #0a0a0a 53%, #4e4e4e 76%, #383838 87%, #1b1b1b 100%); border-radius:100%; } .hover{ z-index:1; text-align:center; margin-top:30%; color:rgba(255,255,255,0.9); text-shadow:0 1px 1px rgba(0,0,0,0.8); font: 20px "微软雅黑"; } .hover:before{ content:""; z-index:1; width:0; height:0; top:-50px; left:20px; border-bottom:35px solid #f2f2f2; /*border-left:10px solid transparent;*/ } @-webkit-keyframes flame{ 0%{ height:70px; transform:skewY(0deg); border-radius:100% 100% 0 0; } 25%{ height:60px; transform:skewY(40deg); border-radius:10% 100% 0 0; } 60%{ height:65px; transform:skewY(-20deg); border-radius:90% 10% 0 0; } 70%{ height:50px; transform:skewY(10deg); border-radius:10% 100% 0 0; } 100%{ height:70px; tranform:skewY(0deg); } } @-webkit-keyframes lidoff{ from{ transform:rotate(0deg); transform-origin:100% 100%; } to{ transform:rotate(130deg); transform-origin:100% 100%; } }</span>
초기 사진:
동적 사진
두 가지 주요 애니메이션 효과가 있습니다. 하나는 마우스를 호버링할 때입니다. "hover me"가 표시될 때 라이터 덮개가 열리는 상황은 다음 애니메이션 코드로 구현됩니다.
<span style="font-family:Comic Sans MS;font-size:12px;">@-webkit-keyframes lidoff{ 注意这里要加上-webkit- from{ transform:rotate(0deg); transform-origin:100% 100%; } to{ transform:rotate(130deg); transform-origin:100% 100%; } } </span>
두 번째 애니메이션은 촛불 조명 효과의 구현입니다. 촛불은 전환 변수 :opacity 3s Linear에 의해 제어됩니다.
바람에 흔들리는 촛불의 효과는 다음 코드로 달성됩니다. 🎜>
<span style="font-family:Comic Sans MS;font-size:12px;">@-webkit-keyframes lidoff{ from{ transform:rotate(0deg); transform-origin:100% 100%; } to{ transform:rotate(130deg); transform-origin:100% 100%; } </span>
라이터를 켰을 때 나타나는 둥근 공과 작은 흰색 사각형은 :after :before와 z-index를 결합하여 얻은 효과입니다.
transform-origin: 기본 초기 위치는 이미지의 중앙이며, 100%는 오른쪽 하단과 같습니다. 0%는 0%와 같습니다. 왼쪽 상단.
before 및 :after : 삽입된 콘텐츠는 연결된 대상 요소의 하위 요소이지만 모든 콘텐츠 "앞"에 배치됩니다. 이 요소 또는 "이후". 삽입된 내용은 페이지의 소스코드에서는 보이지 않으며 CSS에서만 볼 수 있습니다. 동시에 삽입된 요소는 기본적으로 인라인 요소입니다. 따라서 삽입된 요소에 높이, 패딩, 여백 등을 제공하려면 일반적으로 블록 수준 요소(display:block)를 명시적으로 정의해야 합니다.
또한 콘텐츠를 삽입할 수 없더라도 콘텐츠를 작성해야 합니다. 콘텐츠가 삽입되지 않은 경우 콘텐츠는 다음과 같이 작성됩니다."";
IE6 IE7은 다음 두 요소와 호환되지 않습니다.
의사 요소(이중 콜론), CSS3의 의사 클래스는 (단일 콜론)
animation -fill-mode: none|forwards|backwards|both|initial|inherit;
애니메이션이 재생되지 않을 때(애니메이션이 완료될 때 또는 애니메이션이 지연되고 재생이 시작되지 않음) 요소의 스타일에 적용됩니다.
background-image:는 p가 하나의 배경만 설정할 수 있는 문제를 해결하므로 한 p가 여러 배경 이미지를 설정할 수 있습니다.
box-shadow: 자주 잊어버리는 매개변수-확산(확장된 그림자 반경), 한 번 잊어버린 이 확산은 그림자의 크기를 변경합니다---값이 양수인 경우 해당 값은 양수 또는 음수일 수 있습니다. , 전체 그림자가 확장되고 확장됩니다. 그렇지 않으면 음수 값인 경우 축소됩니다. 이 매개변수를 사용하면 box-shadow를 사용하여 Photoshop의 그림자 작업과 같은 단면 그림자 효과를 만들 수 있습니다. 여기서 주목해야 할 점은 이 확장된 그림자 값은 그림자 흐림 반경과 함께 사용해야 한다는 것입니다. 일반적인 상황은 "확장된 그림자 반경은 일반적으로 흐림 반경과 동일하게 설정되며 음수 값입니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











최근 Bitcoin의 가격이 20k 달러가 넘는 USD가 최근에 등반되면서 최근 30k를 끊었으므로 Ethereum을 만드는 데 깊이 다이빙을 할 가치가 있다고 생각했습니다.

개발자로서 어느 단계에 있든, 우리가 완료 한 작업은 크든 작든, 개인적이고 전문적인 성장에 큰 영향을 미칩니다.

그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

목표가 귀하의 사이트를 동시에 다른 크기로 표시하는 이러한 데스크탑 앱이 많이 있습니다. 예를 들어, 글을 쓸 수 있습니다

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.
