#できること & 完成図
水玉模様のレイアウトを実装する方法について述べます。
#概要
HTMLとCSSを使い、以下の記述をコピペするだけで水玉模様のレイアウトを実装できます。
#実装方法
##HTML
index.html
<ul class="circles">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
styles.css
@import url('https://fonts.googleapis.com/css?family=Exo:400,700');
.circles{
top: 0;
left: 0;
width: 50%;
height: 100%;
overflow: hidden;
padding-left: 300px;
}
.circles li{
position: absolute;
display: block;
list-style: none;
width: 20px;
height: 20px;
background: rgba(255, 255, 255, 0.2);
animation: animate 25s linear infinite;
bottom: -30px;
}
.circles li:nth-child(1){
left: 25%;
width: 80px;
height: 80px;
animation-delay: 0s;
}
.circles li:nth-child(2){
left: 10%;
width: 20px;
height: 20px;
animation-delay: 2s;
animation-duration: 12s;
}
.circles li:nth-child(3){
left: 70%;
width: 20px;
height: 20px;
animation-delay: 4s;
}
.circles li:nth-child(4){
left: 40%;
width: 60px;
height: 60px;
animation-delay: 0s;
animation-duration: 18s;
}
.circles li:nth-child(5){
left: 65%;
width: 20px;
height: 20px;
animation-delay: 0s;
}
.circles li:nth-child(6){
left: 75%;
width: 110px;
height: 110px;
animation-delay: 3s;
}
.circles li:nth-child(7){
left: 35%;
width: 150px;
height: 150px;
animation-delay: 7s;
}
.circles li:nth-child(8){
left: 50%;
width: 25px;
height: 25px;
animation-delay: 15s;
animation-duration: 45s;
}
.circles li:nth-child(9){
left: 20%;
width: 15px;
height: 15px;
animation-delay: 2s;
animation-duration: 35s;
}
.circles li:nth-child(10){
left: 85%;
width: 150px;
height: 150px;
animation-delay: 0s;
animation-duration: 11s;
}
@keyframes animate {
0%{
transform: translateY(0) rotate(0deg);
opacity: 1;
border-radius: 150px;
background-color: #f7ddc5;
}
100%{
background-color: #f8eac0;
transform: translateY(-1000px) rotate(720deg);
opacity: 0;
border-radius: 50%;
}
}
#説明
・HTMLにliが10要素あり、CSSのchildとしている10要素にそれぞれ対応しています。
→10種類の水玉が表示される仕様としています。
・animation-delay プロパティは、アニメーションをいつ開始するかを指定します。
→水玉が現れるタイミング。
・animation-durationプロパティはアニメーション一回分の時間の長さを指定します。
→水玉の下→上へと移動する速度。
#最後に
それぞれのプロパティに対応する値を変更することで、仕様に沿った水玉を表現できます。
この方法だと、JavaScriptを使用せずとも、HTMLとCSSを使用するだけで水玉のモーションを表現できます。
よろしければご参考ください。
以上です。