私は以下を試しました:
<div class="modal hide fade modal-admin" id="testModal" style="display: none;">
<div class="modal-header">
<a data-dismiss="modal" class="close">×</a>
<h3 id='dialog-heading'></h3>
</div>
<div class="modal-body">
<div id="dialog-data"></div>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn" >Close</a>
<a class="btn btn-primary" id="btnSaveChanges">Save changes</a>
</div>
</div>
そしてこのJavascript:
$('.modal-admin').css('width', '750px');
$('.modal-admin').css('margin', '100px auto 100px auto');
$('.modal-admin').modal('show')
結果は私が期待したものではありません。モーダル左上は画面の中央に配置されています。
誰でも私を助けてもらえますか。他の誰かがこれを試してみました。やりたいことは珍しいことではないと思います。
更新:
bootstrap 3
では、モーダルダイアログを変更する必要があります。そのため、この場合はmodal-admin
が立っている場所にクラスmodal-dialog
を追加できます。
元の回答(ブートストラップ<3)
JS/jQueryで変更しようとしている特定の理由はありますか?
あなたは簡単にCSSだけでそれをすることができます、それはあなたがあなたのスタイルをドキュメントにする必要がないことを意味します。独自のカスタムCSSファイルに、次のものを追加します。
body .modal {
/* new custom width */
width: 560px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -280px;
}
あなたの場合:
body .modal-admin {
/* new custom width */
width: 750px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -375px;
}
Bodyをセレクタの前に置くのは、デフォルトより優先順位が高いためです。こうすればあなたはそれをカスタムCSSファイルに追加することができ、心配することなくBootstrapを更新する。
CSSだけで反応させたい場合は、次のようにします。
.modal.large {
width: 80%; /* respsonsive width */
margin-left:-40%; /* width/2) */
}
注1:私は.large
クラスを使用しました。通常の.modal
でもこれを実行できます。
注2:ブートストラップ3では、マイナスの余白はもう必要ない場合があります。 (個人的に確認されていません)
/*Bootstrap 3*/
.modal.large {
width: 80%;
}
注3:Bootstrap 3および4にはmodal-lg
クラスがあります。したがって、これで十分な場合がありますが、応答性を高めるには、Bootstrap 3用に提供した修正プログラムが必要です。
いくつかのアプリケーションではfixed
モーダルが使用されます、その場合あなたはwidth:80%; left:10%;
を試すことができます(式:left = 100 - width/2)
Bootstrap 3を使用している場合は、承認された回答に示されているようなモーダルdivではなく、モーダルダイアログdivを変更する必要があります。また、Bootstrap 3のレスポンシブな性質を維持するために、メディアクエリを使用してオーバーライドCSSを記述することが重要です。そうすれば、モーダルはより小さなデバイスで全幅になります。
さまざまな幅を試してみるには、 this JSFiddle を参照してください。
_ html _
<div class="modal fade">
<div class="modal-dialog custom-class">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-header-text">Text</h3>
</div>
<div class="modal-body">
This is some text.
</div>
<div class="modal-footer">
This is some text.
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
_ css _
@media screen and (min-width: 768px) {
.custom-class {
width: 70%; /* either % (e.g. 60%) or px (400px) */
}
}
相対的なデザインを壊さないものが欲しいなら、これを試してください
body .modal {
width: 90%; /* desired relative width */
left: 5%; /* (100%-width)/2 */
/* place center */
margin-left:auto;
margin-right:auto;
}
@Marco Johannesenが言うように、セレクタの前の "body"は、デフォルトよりも高い優先順位を持つようになっています。
Bootstrap 3+では、モーダルダイアログのサイズを変更する最も適切な方法は、sizeプロパティを使用することです。以下は例です、modal-sm
クラスに沿ったmodal-dialog
に注目してください。これは小さなモーダルを示します。これには、小さい場合はsm
、中程度の場合はmd
、大きい場合はlg
の値を含めることができます。
<div class="modal fade" id="ww_vergeten" tabindex="-1" role="dialog" aria-labelledby="modal_title" aria-hidden="true">
<div class="modal-dialog modal-sm"> <!-- property to determine size -->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="modal_title">Some modal</h4>
</div>
<div class="modal-body">
<!-- modal content -->
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" id="some_button" data-loading-text="Loading...">Send</button>
</div>
</div>
</div>
</div>
Bootstrap 3
のためにここにそれを行う方法があります。
HTMLマークアップにmodal-wide
スタイルを追加します( から適応されているように - Bootstrap 3ドキュメントの例 )
<div class="modal fade modal-wide" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 id="myModalLabel" class="modal-title">Modal title</h4>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
次のCSSを追加してください
.modal-wide .modal-dialog {
width: 80%; /* or whatever you wish */
}
これを中央揃えにするためにmargin-left
のBootstrap 3
をオーバーライドする必要はありません。
- Bootstrap 3 必要なのはこれだけです
<style>
.modal .modal-dialog { width: 80%; }
</style>
上記の答えのほとんどは私のために働いていませんでした!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Twitter-bootstrap/3.3.5/js/bootstrap.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/Twitter-bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet" />
<style>
#myModal1 .modal-dialog {
width: 80%;
}
#myModal2 .modal-dialog {
width: 50%;
}
</style>
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal1">
80%
</button>
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal2">
50%
</button>
<center>
<!-- Modal -->
<div class="modal fade" id="myModal1" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
custom width : 80%
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal2" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
custom width : 50%
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
</center>
解決策は this pageからとられました
$('#feedback-modal').modal({
backdrop: true,
keyboard: true
}).css({
width: 'auto',
'margin-left': function () {
return -($(this).width() / 2);
}
});
Bootstrapのv3では、モーダルを大きくする簡単な方法があります。 modal-dialogの隣にクラス modal-lg を追加するだけです。
<!-- My Modal Popup -->
<div id="MyWidePopup" class="modal fade" role="dialog">
<div class="modal-dialog modal-lg"> <---------------------RIGHT HERE!!
<!-- Modal content-->
<div class="modal-content">
ブートストラップ3:スモールデバイスおよびエクストラスモールデバイスのレスポンシブ機能を維持するために、次のことを行いました。
@media (min-width: 768px) {
.modal-dialog-wide
{ width: 750px;/* your width */ }
}
Bootstrap> 3の場合は、モーダルにスタイルを追加するだけです。
<div class="modal-dialog" style="width:80%;">
<div class="modal-content">
</div>
</div>
これが私がしたことです、私のcustom.cssに私はこれらの行を追加しました、そしてそれはすべてでした。
.modal-lg {
width: 600px!important;
margin: 0 auto;
}
明らかに、あなたは幅のサイズを変えることができます。
私はこの解決策を見つけました。これを使うことができます:
$('.modal').css({
'width': function () {
return ($(document).width() * .9) + 'px';
},
'margin-left': function () {
return -($(this).width() / 2);
}
});
またはこれはあなたの要件に応じて:
$('.modal').css({
width: 'auto',
'margin-left': function () {
return -($(this).width() / 2);
}
});
私がそれを見つけた記事を参照してください: https://github.com/Twitter/bootstrap/issues/675
FYIブートストラップ3は自動的に左のプロパティを処理します。したがって、このCSSを追加するだけで幅が変更され、中央に配置されます。
.modal .modal-dialog { width: 800px; }
レスポンシブデザインを維持し、幅を希望の幅に設定します。
.modal-content {
margin-left: auto;
margin-right: auto;
max-width: 360px;
}
複雑にしないでおく。
クラスmodel-dialog
を変更すると期待通りの結果が得られます。これらの小さなトリックは私のために働きます。この問題を解決するのに役立つことを願っています。
.modal-dialog {
width: 70%;
}
Bootstrap 3 CSSでは、単純に次のように使用できます。
body .modal-dialog {
/* percentage of page width */
width: 40%;
}
シェーディングにも適用される.modal-dialog
の代わりに.modal
を使用しているので、これはあなたがページのデザインを壊さないようにします。
Bootstrap 3では、必要なのはCSSを通してモーダルダイアログに与えられるパーセント値だけです。
#alertModal .modal-dialog{
width: 20%;
}
このページのヒントとともに、CSSとjQueryの組み合わせを使用して、Bootstrap 3を使用して滑らかな幅と高さを作成しました。
まず、コンテンツ領域の幅とオプションのスクロールバーを処理するCSS
.modal.modal-wide .modal-dialog {
width: 90%;
}
.modal-wide .modal-body {
overflow-y: auto;
}
その後、必要に応じてコンテンツ領域の高さを調整するためのいくつかのjQuery
$(".modal-wide").on("show.bs.modal", function() {
var height = $(window).height() - 200;
$(this).find(".modal-body").css("max-height", height);
});
http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/ /に完全な記述とコード
モーダルをレスポンシブにするためにパーセンテージを使用するのではなく、すでにブートストラップに組み込まれている列やその他のレスポンシブ要素を使用することでより多くの制御が得られる可能性があります。
モーダル応答性を向上させるには/任意の数の列のサイズ:
1)クラス.containerを持つモーダルダイアログdivの周りに余分なdivを追加します -
<div class="container">
<div class="modal-dialog">
</div>
</div>
2)モーダルを全幅にするために小さなCSSを追加します -
.modal-dialog {
width: 100% }
3)その他の様式がある場合は、代わりに追加のクラスを追加します -
<div class="container">
<div class="modal-dialog modal-responsive">
</div>
</div>
.modal-responsive.modal-dialog {
width: 100% }
4)さまざまなサイズのモーダルが欲しい場合は、行/列を追加してください -
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="modal-dialog modal-responsive">
...
</div>
</div>
</div>
</div>
あなたのcssファイルに以下を追加してください
.popover{
width:auto !important;
max-width:445px !important;
min-width:200px !important;
}
スクリプトの下に使用:
.modal {
--widthOfModal: 98%;
width: var(--widthOfModal) !important;
margin-left: calc(calc(var(--widthOfModal) / 2) * (-1)) !important;
height: 92%;
overflow-y: scroll;
}
デモ :
次のような方法を試してください(ここでライブjsfiddleの例を参照してください: http://jsfiddle.net/periklis/hEThw/1/ )
<a class="btn" onclick = "$('#myModal').modal('show');$('#myModal').css('width', '100px').css('margin-left','auto').css('margin-right','auto');" ref="#myModal" >Launch Modal</a>
<div class="modal" id="myModal" style = "display:none">
<div class="modal-header">
<a class="close" data-dismiss="modal">×</a>
<h3>Modal header</h3>
</div>
<div class="modal-body">
<p>One fine body…</p>
</div>
<div class="modal-footer">
<a href="#" class="btn">Close</a>
<a href="#" class="btn btn-primary">Save changes</a>
</div>
</div>
を使用して達成された期待される結果
.modal-dialog {
width: 41% !important;
}
Bootstrap 4.1で解決しました
以前に投稿されたソリューションの組み合わせ
.modal-lg {
max-width: 90% !important; /* desired relative width */
margin-left:auto !important;
margin-right:auto !important;
}
私はSCSSと完全に反応の良いモーダルを使いました。
.modal-dialog.large {
@media (min-width: $screen-sm-min) { width:500px; }
@media (min-width: $screen-md-min) { width:700px; }
@media (min-width: $screen-lg-min) { width:850px; }
}
私はこのように使用しました、そしてそれは私にとって完璧な仕事です
$("#my-modal")
.modal("toggle")
.css({'width': '80%', 'margin-left':'auto', 'margin-right':'auto', 'left':'10%'});
以下はJavaScriptを介して画面からモーダルポップアップの幅と左の位置を設定するためのコードです。
$( '#openModalPopupId')。css({"width": "80%"、 "left": "30%"});
Bootstrap 2のためのより少ないベースのソリューション(no js):
.modal-width(@modalWidth) {
width: @modalWidth;
margin-left: -@modalWidth/2;
@media (max-width: @modalWidth) {
position: fixed;
top: 20px;
left: 20px;
right: 20px;
width: auto;
margin: 0;
&.fade { top: -100px; }
&.fade.in { top: 20px; }
}
}
それからモーダル幅を指定したいところならどこでも:
#myModal {
.modal-width(700px);
}
you can use any prefix or postfix name for modal. but you need to make sure that's should use everywhere with same prefix/postfix name.
body .modal-nk {
/* new custom width */
width: 560px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -280px;
}
または
body .nk-modal {
/* new custom width */
width: 560px;
/* must be half of the width, minus scrollbar on the left (30px) */
margin-left: -280px;
}
.Size(ModalSize.Large)
sample:
using (var modal = Html.Bootstrap().Begin(new Modal().Id("modalProject_" + modelItem.id).Closeable().Size(ModalSize.Large)))
{
}
ブートストラップ3.x.x
<!-- Modal -->
<div class="modal fade" id="employeeBasicDetails" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog modal-sm employeeModal" role="document">
<form>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal Title</h4>
</div>
<div class="modal-body row">
Modal Body...
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</form>
</div>
</div>
2番目のdivに.employeeModalクラスを追加したことに注意してください。それからそのクラスをスタイルします。
.employeeModal{
width: 700px;
}