vue实现树木生长过程效果
代码语言:html
所属分类:动画
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
html,
body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
background: #000;
color: #fff;
display: -webkit-box;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
flex-direction: column;
}
canvas {
width: 100%;
height: 100%;
}
#app {
padding: 1rem;
display: none;
background: rgba(0,0,0,0.5);
}
#toggle-label {
position: fixed;
top: 0;
left: 0;
font-size: 2rem;
}
#toggle {
width: 0;
height: 0;
display: none;
}
#toggle:checked ~ #app {
display: block;
position: fixed;
top: 2rem;
}
</style>
</head>
<body translate="no">
<canvas></canvas>
<label id="toggle-label" for="toggle">☰</label>
<input id="toggle" type="checkbox" />
<form id="app">
<div class="form-group">
<label for="seed">Semilla</label>
<input id="seed" type="number" min="0" v-model="seed" />
</div>
<div class="form-group">
<label for="generations">Generaciones</label>
<input id="generations" type="number" min="3" max="10" v-model="maxGenerations" />
</div>
<div class="form-group">
<label for="steps">Pasos</label>
<input id="steps" type="number" min="3" max="10" v-model="maxSteps" />
</div>
<div class="form-group">
<input id="length-x-generation" type="checkbox" v-model="lengthByGeneration" />
<label for="length-generation">¿Cambia la longitud con la generación?</label>
</div>
<fieldset>
<legend>Ramas</legend>
<div class="form-group">
<label for="branches-min">Ramas por rama (mínimo)</label>
<input type="number" min="1" :max="branchesMax" v-model="branchesMin" />
</div>
<div class="form-group">
<label for="branches-max">Ramas por rama (máximo)</label>
<input type="number" :min="branchesMin" max="10" v-model="branchesMax" />
</div>
<fieldset v-if="lengthByGeneration">
<legend>Longitud por generación</legend>
<div class="form-group">
<label for="lenght-min-x-generation-min">Longitud mínima (mínimo)</label>
<input id="length-min-x-generation-min" type="number" v-model="lengthMinByGenMin" />
</div>
<div class="form-group">
<label for="lenght-min-x-generation-max">Longitud mínima (máximo)</label>
<input id="length-min-x-generation-max" type="number" v-model="lengthMinByGenMax" />
</div>
<div class="form-group">
<label for="lenght-max-x-generation-min">Longitud máxima (mínimo)</label>
<input id="length-max-x-generation-min" type="number" v-model="lengthMaxByGenMin" />
</div>
<div class="form-group">
<label for="lenght-max-x-generation-max">Longitud máxima (máximo)</label>
<input id="length-max-x-generation-max" type="number" v-model="lengthMaxByGenMax" />
</div>
</fieldset>
<fieldset v-else="v-else">
<legend>Longitud</legend>
<div class="form-group">
<label for="lenght-min">Longitud mínima</label>
<input id="length-min" type="number" v-model="lengthMin" />
</div>
<div class="form-group">
<label for="lenght-max">Longitud máxima</label>
<input id="length-max" type="number" v-model="lengthMax" />
</div>
</fieldset>
</fieldset>
<fieldset>
<legend>Hojas</legend>
<div class="form-group">
<label for="leaf-generation">Generación en la que aparecen hojas</label>
<input id="leaf-generation" type="number" v-model="leafGeneration" />
</div>
<div class="form-group">
<label for="leaf-min">Hojas (mínimo)</label>
<input id="leaf-min" type="number" min="0" :max="leafMax" v-model="leafMin" />
</div>
<div class="form-group">
<label for="leaf-max">Hojas (máximo)</label>
<input id="leaf-max" type="number" :min="leafMin" max="10" v-model="leafMax" />
</div>
</fieldset>
<fieldset>
<legend>Raices</legend>
<div class="form-group">
<label for="roots-min">Raíces por raíz (mínimo)</label>
<input type="num.........完整代码请登录后点击上方下载按钮下载查看
网友评论0