li
の状態はとなります。ととなります。CSSのみの点から黒点から別の色へのグラデーション(徐々に)
閉:色は黒(光がなく、お互いに折り畳まれています)。
開かれた:色は赤色(明るく、全景)です。
2つの要素の間のポイントから色が消えて、シャドウがピボットから始まり、閉じるまで表示されます。私は、これは絶対にそれに適用される勾配、および0時にアクティブに設定不透明で擬似要素「の前に」位置していた行うには見ることができました
$('button').on('click', function() {
$(this).toggleClass('active');
});
ul {
width: 320px;
height: auto;
margin: 0 auto;
max-height: 0;
transition: max-height .75s ease-in-out;
overflow: hidden;
}
li {
width: 100%;
height: 50px;
background: #2c3e50;
color: #fff;
text-align: center;
list-style: none;
vertical-align: center;
line-height: 3;
transition: transform .75s ease-in-out, margin .75s ease-in-out, background .75s ease-in-out;
}
button.active + ul {
max-height: 100px;
}
button.active + ul > li {
transform: perspective(320px) rotateX(0deg);
background: #e74c3c;
margin: 0;
}
li.odd {
transform: perspective(320px) rotateX(-90deg);
transform-origin: top;
margin-bottom: -100px;
}
li.even {
border-top: 1px dashed #bf2718;
transform: perspective(320px) rotateX(90deg);
transform-origin: bottom;
margin-top: -100px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button>
Toggle
</button>
<ul>
<li class="odd">Lorem</li>
<li class="even">Ipsum</li>
</ul>
私はあなたがそのための勾配を必要とするだろうし、あなたがそれらをアニメーション化することはできません確信しています。 –
本当ですが、あなたはそれを偽造することができますが、単純な効果のために多くの作業があるようですが、 – efreeman