怎么用css的方法将门打开后展示灯笼自上而下的动画?

html-css06

怎么用css的方法将门打开后展示灯笼自上而下的动画?,第1张

您可以使用 CSS 动画来实现门打开后展示灯笼自上而下的动画效果。具体步骤如下:

1. 在 HTML 中创建门和灯笼的元素,并给这些元素添加类名。例如:

<div class="door">门</div>

<div class="lantern">灯笼</div>

2. 在 CSS 中为门添加打开的样式。例如,可以使用 transform 属性来旋转门:

.door {

transform: rotate(90deg)

}

3. 为灯笼添加动画样式。可以使用 CSS 的 animation 属性来实现动画效果。例如,可以使用以下样式来使灯笼从上方移动到下方:

.lantern {

animation: moveDown 1s ease-in-out

}

@keyframes moveDown {

from {

top: -100px

}

to {

top: 100px

}

}

4. 使用 JavaScript 来控制动画的播放。可以在门打开后调用灯笼元素的 classList.add 方法,来添加动画类名,从而触发动画的播放。

例如:

document.querySelector('.door').addEventListener('click', function() {

document.querySelector('.lantern').classList.add('lantern-animation')

})

希望这些信息能帮助到您!

主要利用animation-play-state属性,可以测试以下代码,看是不是你想要的效果

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

<title>动画暂停测试</title>

<style>

#test{

width:200px

height:200px

position:relative

background:red

animation:move 5s alternate infinite

}

@keyframes move{

0%{left:0background:red}

100%{left:600pxbackground:green}

}

</style>

<script>

function start(){

var x=document.getElementById('test')

x.style.animationPlayState="running"

}

function end(){

var y=document.getElementById('test')

y.style.animationPlayState="paused"

}

</script>

</head>

<body>

<div id="test"></div>

<button onclick="start()">开始动画</button>

<button onclick="end()">结束动画</button>

</body>

</html>

简单总结一下微信动画的实现及执行步骤。

实现方式官方文档是这样说的:

①创建一个动画实例 animation。

②调用实例的方法来描述动画。

③最后通过动画实例的 export 方法导出动画数据传递给组件的 animation 属性 ...

注意:

前两步是定义一个动画并设置都要干什么,然后把这个设置好的“规则”扔给界面上的某个元素,让它按照这个规则执行。

当然如果有多个元素的animation="{{ani}}",也都会执行这个动画规则。

简单介绍一下例子中的几个参数和方法(其他的详见官方文档):

首先需要定义一套关键帧,关键帧的定义方式比较特殊,它使用了关键字@keyframes来定义动画。这里可以用from{}to{}或者用百分比充当时间点。具体格式为:

然后,在需要设置动画的相应的标签里,调用动画就可以了

比如需要给div添加动画效果:

div{

animation:1s 2s 动画名称 运动方式 动画执行的次数

}

详细分析:

首先 wxml 中 pupContent 初始化信息为高度为0 display: 为 noneclick 为 false

, click 这个来判断 display: 为 block 还是为 none (即: block 为换行显示, none 为不显示,把视图隐藏了) option 用来判断是否调用打开的动画,或者关闭的动画

第一次点击 click 变为 true option 变为 true 这时候 pupContent 的 display: 为 block 高度由动画变为 800rpx

第二次点击阴影部分 首先设置了 option 为 false option 为 false 的话先走的动画是 pupContent 由 800 的高度变为 0 .然后在设置click为false就隐藏掉了