急になぜかposition: fixed;が効かない!
振る舞いとしては absolute になってしまう。
そんなことが2,3回あって、いい加減気付こうという戒めで書きます。
親要素に transform プロパティが与えられていないか
position: fixed; を指定している要素の親に transform プロパティを与えてしまうと、
その要素より下では position: fixed;は効かなくなってしまう様でした。
###けれども 塊でアニメーションさせた後に何かをfixedさせたい…
以下の様に、「何か変形を初期値に戻す」ということであれば
#foo {
transform: translateY( 100% );
transition: transform .4s;
}
#foo.is-active {
transform: translateY( 0 );
}
変形後の transform プロパティを none にしてあげると、
子要素以下は position: fixed;が効く様になります!
#foo {
transform: translateY( 100% );
transition: transform .4s;
}
#foo.is-active {
transform: none;
}
いやいや、変形後の状態で fixed させたいんだ!
ということであれば、親要素でまるっと動かすのは得策ではないと思いました。