최근에 컴퓨터를 켰을 때 Geek Academy의 신규 사용자가 한 달 동안 무료 VIP를 받는 것을 보고 들어가서 그 과정에 대해 이야기하지 않겠습니다. 실제 전투 경로 지도 페이지:
타임라인과 약간 비슷하며, 마우스를 움직일 때마다 스크린샷을 확장하고 소개하는 드롭다운 효과가 있습니다. 정보, 효과는 꽤 좋습니다. 하지만 이 효과는 동적 추가에는 그다지 유연하지 않은 것 같습니다. 높이가 너비만큼 유연하지 않기 때문에 하나씩 추가해야 합니다. 그 중 많은 제품이 디스플레이 효과를 위해 만들어졌습니다.
물론, 이 아이디어를 바탕으로 더 간단한 유사한 효과도 만들었습니다. 주로 전체 레이아웃 효과를 각 콘텐츠를 모방하지는 않고, 오프닝 애니메이션도 직접 추가해 더욱 재미있게 만들었습니다. ...
먼저 효과를 살펴보겠습니다.
효과는 아마도 이렇습니다. :
HTML 구조:
<p class="timezone"> <p class="time"> <h2>2015-07-02</h2> <p> <p>暴走大事件第一季</p> <ul> </ul> </p> </p> <p class="timeLeft" style="top: 100px;"> <h2>2015-07-02</h2> <p> <p>暴走大事件第二季</p> <ul> </ul> </p> </p>
여기서는 HTML 구조가 단순화되었습니다. .time 클래스는 오른쪽에 표시되고, .timeLeft는 왼쪽에 표시됩니다. 여백만 추가하고 각 부분의 내용을 삭제했습니다.
CSS 스타일 코드는 다음과 같습니다.
body{ background: #333; } h1{ text-align: center; color:#fff; } .timezone{ width:6px; height: 350px; background: lightblue; margin: 0 auto; margin-top:50px; border-radius: 3px; position: relative; -webkit-animation: heightSlide 2s linear; } @-webkit-keyframes heightSlide{ 0%{ height: 0; } 100%{ height: 350px; } } .timezone:after{ content: '未完待续...'; width: 100px; color:#fff; position: absolute; margin-left: -35px; bottombottom: -30px; -webkit-animation: showIn 4s ease; } .timezone .time,.timezone .timeLeft{ position: absolute; margin-left: -10px; margin-top:-10px; width:20px; height:20px; border-radius: 50%; border:4px solid rgba(255,255,255,0.5); background: lightblue; -webkit-transition: all 0.5s; -webkit-animation: showIn ease; } .timezone .time:nth-child(1){ -webkit-animation-duration:1s; } .timezone .timeLeft:nth-child(2){ -webkit-animation-duration:1.5s; } .timezone .time:nth-child(3){ -webkit-animation-duration:2s; } .timezone .timeLeft:nth-child(4){ -webkit-animation-duration:2.5s; } @-webkit-keyframes showIn{ 0%,70%{ opacity: 0; } 100%{ opacity: 1; } } .timezone .time h2,.timezone .timeLeft h2{ position: absolute; margin-left: -120px; margin-top: 3px; color:#eee; font-size: 14px; cursor:pointer; -webkit-animation: showIn 3s ease; } .timezone .timeLeft h2{ margin-left: 60px; width: 100px; } .timezone .time:hover,.timezone .timeLeft:hover{ border:4px solid lightblue; background: lemonchiffon; box-shadow: 0 0 2px 2px rgba(255,255,255,0.4); } .timezone .time p,.timezone .timeLeft p{ position: absolute; top:50%; margin-top: -25px; left:50px; width: 300px; height: 50px; background: lightblue; border:3px solid #eee; border-radius: 10px; z-index: 2; overflow: hidden; cursor:pointer; -webkit-animation: showIn 3s ease; -webkit-transition: all 0.5s; } .timezone .timeLeft p{ left:-337px; } .timezone .time p:hover,.timezone .timeLeft p:hover{ height: 170px; } .timezone .time p p,.timezone .timeLeft p p{ color: #fff; font-weight: bold; text-align: center; } .timezone .time:before,.timezone .timeLeft:before{ content: ''; position: absolute; top:0px; left: 32px; width: 0px; height: 0px; border:10px solid transparent; border-right:10px solid #eee; z-index:-1; -webkit-animation: showIn 3s ease; } .timezone .timeLeft:before{ left:-33px; border:10px solid transparent; border-left:10px solid #eee; } .timezone .time p ul,.timezone .timeLeft p ul{ list-style: none; width:300px; padding:5px 0 0; border-top:2px solid #eee; color:#fff; text-align: center; } .timezone .time p li,.timezone .timeLeft p li{ display: inline-block; height: 25px; line-height: 25px; }
이 CSS 스타일 코드는 참고용으로만 사용되었으며, 주요 내용은 정리되지 않았습니다. 애니메이션을 이해하는 것 역시 전체 레이아웃에 따라 달라집니다. 최고의 소원!
위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되기를 바랍니다.
CSS3 타임라인 효과 구현과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!