接着之前的[css]我要用css画幅画(四), 这次我给小明和静静增加了对话,用了简单的动画效果。
github:https://github.com/bee0060/Css-Paint , 完整代码在pages/sun-house-4.html和相关的css中可以找到
demo: http://bee0060.github.io/Css-Paint/pages/sun-house/sun-house-5.html
完整html如下:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Css Paint</title> 6 <link rel="stylesheet" type="text/css" href="../css/sun.css" /> 7 <link rel="stylesheet" type="text/css" href="../css/house.css" /> 8 <link rel="stylesheet" type="text/css" href="../css/human.css" /> 9 <link rel="stylesheet" type="text/css" href="../css/cloud.css" />10 11 <link rel="stylesheet" type="text/css" href="../css/human-animate.css" />12 </head>13 <body>14 <div class="sun">15 <div class="sun-body"></div>16 <div class="sun-shine-light sun-shine-light1"></div>17 <div class="sun-shine-light sun-shine-light2"></div>18 <div class="sun-shine-light sun-shine-light3"></div>19 <div class="sun-shine-light sun-shine-light4"></div>20 <div class="sun-shine-light sun-shine-light5"></div>21 </div>22 23 <div class="house-width house">24 <div class="house-width house-roof house-roof-left"></div>25 <div class="house-width house-roof house-roof-right"></div>26 <div class="house-width house-wall"> 27 <div class="house-wall-door"> 28 <div class="house-wall-door-handle"></div>29 </div>30 </div>31 </div>32 33 <div class="human human-pos-1">34 <p class="lines human-speak">大家好,我叫小明。</p>35 <p class="lines human-speak human-speak-delay-3">我是一个程序员,最喜欢宅在家里LOL。</p>36 <p class="lines human-speak human-speak-delay-12">静静,我们交个朋友好吗?我的电话是13800123456。</p>37 <div class="human-head-normal"></div>38 <div class="human-body-normal"></div>39 <div class="human-arms-normal"></div>40 <div class="human-legs-normal"></div>41 </div>42 43 <div class="human human-pos-2">44 <p class="lines human-speak human-speak-delay-6">大家好,我叫静静</p>45 <p class="lines human-speak human-speak-delay-9">和大家看到的一样,我热爱舞蹈。</p>46 <p class="lines human-speak human-speak-delay-15">不要,程序员什么的最讨厌了!</p>47 <div class="human-head-normal"></div>48 <div class="human-body-normal"></div>49 <div class="human-arms-normal"></div>50 <div class="human-legs-1"></div>51 </div>52 53 <div class="cloud cloud-pos cloud-pos-1">54 <div class="cloud-pos cloud-border cloud-bg cloud-top"></div>55 <div class="cloud-pos cloud-border cloud-bg cloud-left"></div>56 <div class="cloud-pos cloud-border cloud-bg cloud-right"></div>57 <div class="cloud-pos cloud-border cloud-bg cloud-bottom"></div>58 </div>59 <div class="cloud cloud-pos cloud-pos-2">60 <div class="cloud-pos cloud-border cloud-bg cloud-top"></div>61 <div class="cloud-pos cloud-border cloud-bg cloud-left"></div>62 <div class="cloud-pos cloud-border cloud-bg cloud-right"></div>63 <div class="cloud-pos cloud-border cloud-bg cloud-bottom"></div>64 </div>65 </body>66 </html>
我将所需的动画css放在独立的文件中:
1 .human-speak { 2 color: #fff; 3 float: left; 4 -webkit-animation-duration: 3s; 5 -webkit-animation-name: humanLineAppear; 6 } 7 8 .human-speak-delay-3 { 9 -webkit-animation-delay: 3s10 }11 12 .human-speak-delay-6 {13 -webkit-animation-delay: 6s14 }15 16 .human-speak-delay-9 {17 -webkit-animation-delay: 9s18 }19 20 .human-speak-delay-12 {21 -webkit-animation-delay: 12s22 }23 24 .human-speak-delay-15 {25 -webkit-animation-delay: 15s26 }27 28 @-webkit-keyframes humanLineAppear{29 from{30 top: -50px;31 color: #fff;32 }33 20%{34 top: -40px;35 color: #000;36 z-index:10;37 }38 80%{39 top: -40px;40 color: #000;41 z-index:10;42 }43 to{44 top: -50px;45 color: #fff;46 z-index:1;47 }48 }
这里用到的陌生的css属性或关键字包括:
1. -webkit-animation-duration
2.-webkit-animation-delay
3. -webkit-animation-name
4.@-webkit-keyframes
照例先上MDN文档地址: https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_Animations/Using_CSS_animations
动画系(animation属性及其子属性)的css在chrome中都需要加上浏览器前缀(-webkit-), 本以为前卫的chrome中不需要加前缀了,小小的遗憾了一把。下面的说明都把前缀省略。
以上1-3都是css属性,可以添加在css选择器中,或以内联属性的方式直接添加在标签的style属性中。
而第4个keyframes不同,下面再说。
1.animation-duration: 指定整个动画执行所需的时间, 接受time格式的值,即必须是数字+单位的格式, 单位可以是s(秒)或ms(毫秒),默认值为0s。
2.animation-delay: 指动画延迟执行的时间,即对象加载完毕到开始执行动画之间的时间,接受的时间格式也是时间,默认值为0s。
3.animation-name: 用于指定使用的动画规则名称。 默认值为none。
4.@keyframes:这是一个关键字, 中文翻译是“关键帧”。 开头的“@”符号是必须的,加上浏览器前缀时应该写成: @-webkit-keyframes yourKeyframesName, 其中yourKeyframesName是你的关键帧名称。
该关键字用于声明动画规则,也可以看作一个特殊的选择器。 有点类似js中用于声明函数的function关键字。 语法类似如下:(示例中增加了-wekit-前缀)
1 @-webkit-keyframes humanLineAppear{ 2 from{ 3 top: -50px; 4 color: #fff; 5 } 6 20%{ 7 top: -40px; 8 color: #000; 9 z-index:10;10 }11 80%{12 top: -40px;13 color: #000;14 z-index:10;15 }16 to{17 top: -50px;18 color: #fff;19 z-index:1;20 }21 }
关键帧的语法如上,关键帧内部以类似选择器的方式书写css属性,但是“选择器” 名字不再是id、className, 而是帧的描述, 或叫时间节点的描述,接受from,to或百分比数值。
其中from等同于0%, to等同于100%,
0%表示动画开始时刻, 100%表示结束时刻。 如果动画执行时间(animation-duration属性的值)是10s,那么50%表示第5秒这个时刻。
里面的每个百分比数值,都代表动画执行过程中的一个时间节点,我们暂称为: “帧”, 而帧的CSS属性集合,暂称为“帧选择器”。
帧选择器用于设置动画运行中某时间节点的css样式。
不同帧之间如果设置了相同的css属性名和不同的属性值,
浏览器会按照帧的时间顺序,针对这个CSS属性,找到属性值不同的最相邻的帧的组合(可能有多个帧的组合),以示例中的代码为例, 对于top属性会找到如下组合:
1. from(0%) --> 20% : top从-50px 变为-40px
2. 80% --> to(100%) : top从-40px 变为-50px
上面的帧组合都有开始和结束帧,且其中都包含至少一个CSS属性的改变,我们暂时称其为: “帧区间”。
浏览器在动画执行时, CSS属性会在帧区间内匀速的变化,即从开始帧指定的属性值匀速增加或减少至结束帧指定的属性值。
--------------------------------------------------------------------------- 我是突兀的分割线 ---------------------------------------------------------------------------
要让一个动画生效, 以下3个条件必须满足:
1. animation-name需要指向一个有效的用@keyframes声明的关键帧 , 表示动画有一个有效的动画规则。
2. animation-duration大于0s, 表示动画会有大于0秒的执行时间。
3. animation-iteration-count大于0, 表示动画至少会执行1次。(该属性默认值是1,所以一般不用设置就可以)
好了,现在你应该也可以写一个属于自己的简单动画了。
今天就到这里, 谢谢观看。 如有错误,欢迎指正。

HTML의 역할은 태그 및 속성을 통해 웹 페이지의 구조와 내용을 정의하는 것입니다. 1. HTML은 읽기 쉽고 이해하기 쉽게하는 태그를 통해 컨텐츠를 구성합니다. 2. 접근성 및 SEO와 같은 시맨틱 태그 등을 사용하십시오. 3. HTML 코드를 최적화하면 웹 페이지로드 속도 및 사용자 경험이 향상 될 수 있습니다.

"Code"는 "Code"BroadlyIncludeLugageslikeJavaScriptandPyThonforFunctureS (htMlisAspecificTypeofCodeFocudecturecturingWebContent)

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

메뉴에서 점선 분할 효과를 설계하는 방법은 무엇입니까? 메뉴를 설계 할 때는 일반적으로 접시 이름과 가격 사이에 왼쪽과 오른쪽을 정렬하는 것이 어렵지 않지만 점선 또는 중간의 점은 어떻습니까?

웹 코드 편집기의 HTML 요소 분석 많은 온라인 코드 편집기를 사용하면 사용자가 HTML, CSS 및 JavaScript 코드를 입력 할 수 있습니다. 최근에 누군가가 제안했습니다 ...


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Dreamweaver Mac版
시각적 웹 개발 도구

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