Twitter Bootstrapモーダルウィンドウアニメーションをスライドダウン効果からfadeInに変更する方法、またはスライドなしで表示する方法はありますか?ここでドキュメントを読みます:
http://getbootstrap.com/javascript/#modals
ただし、モーダルボディのスライド効果を変更するためのオプションについては言及していません。
モーダルdivからfade
クラスを取り出すだけです。
具体的には、以下を変更します。
<div class="modal fade hide">
に:
<div class="modal hide">
PDATE: bootstrap3の場合、hide
クラスは必要ありません。
bootstrapで使用されるモーダルは、CSS3を使用してエフェクトを提供します。モーダルコンテナdivから適切なクラスを削除することで削除できます。
<div class="modal hide fade in" id="myModal">
....
</div>
ご覧のとおり、このモーダルには.fade
のクラスがあります。つまり、フェードインに設定され、.in
にスライドします。したがって、削除するエフェクトに関連するクラスを削除します。あなたの場合は.in
クラスです。
編集:いくつかのテストを実行しましたが、そうではないようです。.in
クラスはjavascriptによって追加されますが、cssでslideDownの動作を変更できます:
.modal.fade {
-webkit-transition: none;
-moz-transition: none;
-ms-transition: none;
-o-transition: none;
transition: none;
}
スライドインではなくモーダルフェードインを使用したい場合(とにかく.fade
と呼ばれます)、CSSファイル内のクラスを上書きするか、bootstrap.css
で直接クラスを上書きできます:
.modal.fade{
-webkit-transition: opacity .2s linear, none;
-moz-transition: opacity .2s linear, none;
-ms-transition: opacity .2s linear, none;
-o-transition: opacity .2s linear, none;
transition: opacity .2s linear, none;
top: 50%;
}
効果が必要ない場合は、モーダルクラスからfade
クラスを削除してください。
これらの答えのほとんどはbootstrap 2に対するものだと思います。bootstrap 3についても同じ問題にぶつかり、修正を共有したいと思いました。 bootstrap 2に対する以前の回答と同様に、これは不透明度のフェードを行いますが、NOTはスライド遷移を行います。
ワークフローに応じて、modals.lessファイルまたはtheme.cssファイルを変更できます。より少ない時間で質の高い時間を過ごしていないなら、私はそれを強くお勧めします。
少ないため、MODALS.less
で次のコードを見つけます
&.fade .modal-dialog {
.translate(0, -25%);
.transition-transform(~"0.3s ease-out");
}
&.in .modal-dialog { .translate(0, 0)}
次に、-25%
を0%
に変更します
または、cssのみを使用している場合は、theme.css
で次を見つけます。
.modal.fade .modal-dialog {
-webkit-transform: translate(0, -25%);
-ms-transform: translate(0, -25%);
transform: translate(0, -25%);
-webkit-transition: -webkit-transform 0.3s ease-out;
-moz-transition: -moz-transform 0.3s ease-out;
-o-transition: -o-transform 0.3s ease-out;
transition: transform 0.3s ease-out;
}
そして、-25%
を0%
に変更します。
私は自分のLESSスタイルシートでデフォルトの.modal.fade
スタイルをオーバーライドすることでこれを解決しました:
.modal {
&.fade {
.transition(e('opacity .3s linear'));
top: 50%;
}
&.fade.in { top: 50%; }
}
これにより、フェードイン/フェードアウトアニメーションは維持されますが、スライドアップ/スライドダウンアニメーションは削除されます。
スライドを削除するがフェードを残すという最良の解決策を見つけました。bootstrap.cssの後に呼び出される選択のcssファイルに次のcssを追加することです
.modal.fade .modal-dialog
{
-moz-transition: none !important;
-o-transition: none !important;
-webkit-transition: none !important;
transition: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
-o-transform: none !important;
-webkit-transform: none !important;
transform: none !important;
}
スライド効果も好きではありませんでした。これを修正するには、top
属性を.modal.fadeとmodal.fade.inの両方で同じにするだけです。トランジションでもtop 0.3s ease-out
を外すことはできますが、そのままにしておいても問題はありません。フェードイン/アウトが機能するため、スライドを殺すだけなのでこのアプローチが好きです。
.modal.fade {
top: 20%;
-webkit-transition: opacity 0.3s linear;
-moz-transition: opacity 0.3s linear;
-o-transition: opacity 0.3s linear;
transition: opacity 0.3s linear;
}
.modal.fade.in {
top: 20%;
}
bootstrap 3の答えを探している場合は、 こちらをご覧ください
「top:-25%;」を削除するだけでbootstrap.cssを上書きすることもできます
削除すると、モーダルはスライドアニメーションなしで単にフェードインおよびフェードアウトします。
フェードクラスを削除するだけで、より多くのアニメーションをモーダルで実行したい場合は、モーダルでanimate.cssクラスを使用します。
http://quickrails.com/Twitter-bootstrap-modal-how-to-remove-slide-down-effect-but-leaves-the-fade/ をご覧ください
.modal.fade .modal-dialog
{
-moz-transition: none !important;
-o-transition: none !important;
-webkit-transition: none !important;
transition: none !important;
-moz-transform: none !important;
-ms-transform: none !important;
-o-transform: none !important;
-webkit-transform: none !important;
transform: none !important;
}
bootstrap 3とDurandal JS 2モーダルプラグインを使用しています。この質問はGoogleの結果の上位にあり、上記の答えはどれも役に立たないので、将来の訪問者のために自分のソリューションを共有すると思いました。
デフォルトのBootstrapのLessコードを自分のlessでこれでオーバーライドします:
.modal {
&.fade .modal-dialog {
.translate(0, 0);
.transition-transform(~"none");
}
&.in .modal-dialog { .translate(0, 0)}
}
そうすれば、フェード効果のみが残り、slideDownは残りません。
.modal.fade, .modal.fade .modal-dialog {
-webkit-transition: none;
-moz-transition: none;
-ms-transition: none;
-o-transition: none;
transition: none;
}
質問は明確でした:remove onlyスライド:Bootstrap v3で変更する方法は次のとおりです。
Modals.lessで、変換ステートメントをコメントアウトします。
&.fade .modal-dialog {
// .translate(0, -25%);
次のCSSが機能します-Bootstrapを使用します。3。boostrapスタイルの後にこのCSSを追加する必要があります-
.modal.fade .modal-dialog{
-webkit-transition-property: transform;
-webkit-transition-duration:0 ;
transition-property: transform;
transition-duration:0 ;
}
.modal.fade {
transition: none;
}
これを更新したかった。あなたのほとんどはこの問題を完了していません。 Bootstrap 3を使用しています。上記の修正はいずれも機能しませんでした。
スライドエフェクトを削除しますが、フェードインを維持します。bootstrap cssに進み(次のセレクターに注目)-これで問題が解決しました。
.modal.fade .modal-dialog{/*-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out*/}
.modal.in .modal-dialog{/*-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)*/}