ブートストラップ モーダル ポップアップの垂直方向の中央揃え

高洛峰
リリース: 2016-12-24 10:42:08
オリジナル
888 人が閲覧しました

私はフロントエンドの初心者で、会社のプロジェクトでブートストラップを使用しようとしています。同僚のために率先して「ピット」を通過しようとしていますが、UI ガールのせいでモーダル ポップアップを作成するのが困難です。フロントエンド開発の立場の名誉のために、私はそれを満足させるために時間を費やしました。

最初の方法は、ソースコードを変更することです

that.$element.children().eq(0).css("position", "absolute").css({
     "margin":"0px",
     "top": function () {
       return (that.$element.height() - that.$element.children().eq(0).height()-40) / 2 + "px";
     },
    "left": function () {
       return (that.$element.width() - that.$element.children().eq(0).width()) / 2 + "px";
     }
   });
ログイン後にコピー

ここでのthat.elementは最も外側のdiv.modalであり、that.element.children().eq(0)はdiv. Modal-dialog は、modal-dialog の左の値と高さの値を計算して中央に置くだけです。ここで問題が発生します。このコードを bootstrap.js のソース コード (約 1000 行) に追加します。 that.element.children().eq(0).width() は常に 0 です。これは、まだ作成されておらず、値を取得できないことを意味します。私の意見では、setTimeout 遅延を追加しました。 150 ミリ秒ですが、センタリングではさらに 2 つの問題が発生します。1 つは、ユーザーがウィンドウ サイズをアクティブにドラッグすると、それに応じて調整されないことです。2 つ目の問題の解決策も非常に簡単です。それは、ウィンドウが 600 より小さい場合です。 element.children().eq(0).width() の値は正しい場合もあれば、間違っている場合もあります (答えを助けるために通りすがりのマスターに依頼してください)。そのため、この値は破棄します。問題を直接解決したい場合は、無視してください。

垂直方向に中央に配置して、表示を検討してください。これもインターネットからインスピレーションを得たもので、解決策は次のとおりです。

スタイルを書き換えて、スタイルタグまたは外部リンクをHTMLに導入します

.modal-dialog{display:table-cell;vertical-align:middle;}
.modal-content{width:600px;margin:0px auto;}
@media screen and (max-width: 780px) {
.modal-content{width:400px;}
}
@media screen and (max-width: 550px) {
.modal-content{width:220px;}
}
ログイン後にコピー

モーダルトリガーイベント$('.modal').modal()を次の

$('.modal').modalに変更します。 (). css({'display':'table','width':'100%','height':'100%'})

変更は非常に簡単ですが、その結果は非常に暴力的になります。どこをクリックしてもモーダルが消えます。検索した情報にはそのように書かれていましたが、理解できませんでした。


フォークして閉じるボタンをクリックすると閉じることができます。後ろにいる同僚に見下されないように、js に Jiangzi コードを 2 行挿入したいと思います

この時点で、モーダルの垂直方向の中央揃えは実現できますが、モーダルバックドロップのフェードイン時間とフェードアウト時間がオリジナルに比べて誇張されすぎているのがまだ問題です。まだ少し奇妙です。アドバイスをお願いします。

以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。また、皆さんも PHP 中国語 Web サイトをサポートしていただければ幸いです。

ブートストラップ モーダル ポップアップ ボックスの垂直方向のセンタリングに関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート