วิธีเพิ่มความกว้างของ Bootstrap Modal


112

ฉันเคยลองแล้ว แต่ผิดพลาด

นี่คือ css

body .modal-ku {
width: 750px;
}

และนี่คือผลลัพธ์ที่ล้มเหลว

ป้อนคำอธิบายภาพที่นี่


1
ใน bootstrap คุณสามารถใช้ modal-sm, modal-lg สำหรับขนาดเล็กและขนาดใหญ่
Leo the lion

คุณสามารถแบ่งปันรหัส html และ css เฉพาะของคุณได้ไหม บางสไตล์อาจถูกลบล้าง
Nikhil Batra

คุณสามารถแบ่งปันรหัสทั้งหมดของคุณได้หรือคุณสามารถดูตัวอย่างนี้ได้ในความกว้างของโมเดลนี้สามารถเปลี่ยนได้ w3schools.com/bootstrap/…
Har devgun

1
@Hardevgun โปรดอธิบายว่าในตัวอย่างนั้นสามารถเปลี่ยนขนาดโมดอลได้ที่ไหน? นั่นไม่ใช่อะไรนอกจากการสาธิตโมดอลขนาดคงที่ที่เรียบง่าย
ProfK

คำตอบ:


262

ในโค้ดของคุณสำหรับmodal-dialogdiv ให้เพิ่มคลาสอื่นmodal-lg:

<div class="modal-dialog modal-lg">

หรือหากคุณต้องการจัดตำแหน่งกล่องโต้ตอบโมดอลให้ใช้:

.modal-ku {
  width: 750px;
  margin: auto;
}

1
ใช้งานไม่ได้ฉันต้องใช้ CSS width: 80%
webNoob13

1
@ webNoob13 เยี่ยมมากขอบคุณ แต่ปัญหาของคุณอาจแตกต่างกันโดยสิ้นเชิง คำตอบนี้เขียนเมื่อ 5 ปีที่แล้ว อาจใช้ไม่ได้กับกรณีของคุณ โปรดพิจารณาพวกเขา
Praveen Kumar Purushothaman

43

วิธีที่ง่ายที่สุดคือรูปแบบอินไลน์บนmodal-dialogdiv:

<div class="modal" id="myModal">
   <div class="modal-dialog" style="width:1250px;">
      <div class="modal-content">
            ...

        </div>
     </div>
 </div>

29
เอะอะเกี่ยวกับการตอบสนอง n ทั้งหมดล่ะ?
Abhinav Singh

@ Abhinav Singh: คุณพูดถูก ไม่แนะนำให้ใช้ค่า Hard-code px แนะนำให้ใช้เปอร์เซ็นต์หรือคำนวณ
คิดถึง

4
responsive: width: 100%; max-width: 1250px
clamchoda

16

ในกรณีของฉัน

  1. การให้ความกว้างคงที่แก่โมดอลจะทำให้การตอบสนองเสียหาย
  2. modal-lgชั้นก็ไม่กว้างพอ

ดังนั้นวิธีแก้ปัญหาคือ

@media (min-width: 1200px) {
   .modal-xlg {
      width: 90%; 
   }
}

และใช้คลาสด้านบนแทนmodal-lgคลาส


ชั้นไหนก่อนหน้านี้โปรด
John Max

@JohnMax เขาหมายถึง "ใช้ชั้นเรียนข้างต้น"
Mr Heelis

13

คุณสามารถเลือกระหว่างmodal-lgและmodal-xlคลาสหรือหากคุณต้องการความกว้างที่กำหนดเองให้ตั้งค่าคุณสมบัติความกว้างสูงสุดด้วย inline css ตัวอย่างเช่น,

<div class="modal-dialog modal-xl" role="document">

หรือ

<div class="modal-dialog" style="max-width: 80%;" role="document">

1
มันใช้งานได้ดี @sumod badchhape ฉันลบคลาส 'modal-lg' และใส่ max-width: 80% และมันก็เป็นเคล็ดลับ !!
Sotiris Zegiannis

8

ใน Bootstrap 3 คุณต้องเปลี่ยนกล่องโต้ตอบโมดอล ดังนั้นในกรณีนี้คุณสามารถเพิ่ม class modal-admin ในตำแหน่งที่ modal-dialog ยืนอยู่

@media (min-width: 768px) {
  .modal-dialog {
    width: 600;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
  }
  .modal-sm {
    width: 300px;
  }
}

5

ใน Bootstrap ความกว้างเริ่มต้นคือmodal-dialog 600pxแต่คุณสามารถเปลี่ยนความกว้างได้อย่างชัดเจน ตัวอย่างเช่นหากคุณต้องการเพิ่มความกว้างให้มากที่สุดตามค่าที่คุณเลือก800pxตัวอย่างเช่นคุณทำดังต่อไปนี้:

.modal-dialog {
    width: 800px;
    margin: 30px auto;
}

หมายเหตุ : การเปลี่ยนแปลงนี้ตั้งค่าเป็นกล่องโต้ตอบโมดอลทั้งหมดที่คุณใช้ในแอปพลิเคชันของคุณ นอกจากนี้คำแนะนำของฉันคือดีที่สุดที่จะกำหนดกฎ CSS ของคุณเองและอย่าแตะต้องแกนกลางของกรอบงาน

หากคุณต้องการตั้งค่าสำหรับไดอะล็อกโมดอลเฉพาะให้ใช้ชื่อคลาสลวงของคุณเองตามmodal-800ที่กำหนดความกว้าง800pxดังต่อไปนี้:

HTML

<div class="modal">
   <div class="modal-dialog modal-800">
      <div class="modal-content">

      </div>
   </div>
</div>

CSS

.modal-dialog.modal-800 {
    width: 800px;
    margin: 30px auto;
}

ในทำนองเดียวกันคุณสามารถมีชื่อชั้นเป็นขึ้นอยู่กับขนาดความกว้างเช่นมีความกว้างmodal-700700px

หวังว่าจะเป็นประโยชน์!


4

ฉันมีกริดขนาดใหญ่ที่จำเป็นต้องแสดงในโมดอลและเพียงแค่ใช้ความกว้างบนร่างกายก็ทำงานไม่ถูกต้องเนื่องจากตารางล้นแม้ว่าจะมีคลาส bootstrap อยู่ก็ตาม ฉันลงเอยด้วยการใช้ความกว้างเท่ากันmodal-bodyและmodal-content:

<!--begin::Modal-->
<div class="modal fade" role="dialog" aria-labelledby="" aria-hidden="true">
    <div class="modal-dialog modal-lg modal-dialog-centered" role="document">
        <div class="modal-content" style="width:980px;">
            <div class="modal-header">
                <h5 class="modal-title" id="">Title</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true" class="la la-remove"></span>
                </button>
            </div>
            <form class="m-form m-form--fit m-form--label-align-right">
                <div class="modal-body" style="width:980px;">
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-brand m-btn" data-dismiss="modal">Close</button>

                </div>
            </form>
        </div>
    </div>
</div>

<!--end::Modal-->

4

ฉันประสบปัญหาเดียวกันเมื่อเพิ่มความกว้างของโมดอลหน้าต่างไม่แสดงตรงกลาง หลังจากหลีกเลี่ยงฉันพบวิธีแก้ปัญหาด้านล่าง

.modal-dialog {
    max-width: 850px;
    margin: 2rem auto;
}

เลิกโหวตหากสิ่งนี้ได้ผลสำหรับคุณ Happy Coders!


3

หากคุณต้องการให้โมดอลตอบสนองให้ใช้% ของความกว้างแทนพิกเซล คุณสามารถทำได้ในบรรทัด (ดูด้านล่าง) หรือด้วย CSS

<div class="modal fade" id="phpModal" role="dialog">
            <div class="modal-dialog modal-lg" style="width:80%;">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal">&times;</button>
                        <h4 class="modal-title">HERE YOU TITLE</h4>
                    </div>
                    <div class="modal-body helpModal phpModal">
                        HERE YOUR CONTENT
                    </div>
                </div>
            </div>
        </div>

หากคุณใช้ CSS คุณสามารถทำ% ที่แตกต่างกันสำหรับ modal-sm และ modal-lg ได้


1

จริงๆแล้วคุณกำลังใช้ CSS กับ modal div

คุณต้องใช้ CSS บน. modal-dialog

ตัวอย่างเช่นดูรหัสต่อไปนี้

<div class="modal" id="myModal">
 <div class="modal-dialog" style="width:xxxpx;"> <!-- Set width of div which you want -->
      <div class="modal-content">
           Lorem Ipsum some text...content 

        </div>
     </div>
 </div>

Bootstrap ยังมีคลาสสำหรับการตั้งค่าความกว้าง div

สำหรับการใช้คำกริยาขนาดเล็ก modal-sm

และสำหรับกิริยาขนาดใหญ่ modal-lg


1

วิธีที่ง่ายที่สุดคือ:

$(".modal-dialog").css("width", "80%");

ซึ่งเราสามารถระบุความกว้างของโมดอลในรูปของเปอร์เซ็นต์ของหน้าจอ

นี่คือตัวอย่างการทำงานที่แสดงให้เห็นถึงสิ่งเดียวกัน:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
  <script type="text/javascript">
  $(document).ready(function () {
  		$(".modal-dialog").css("width", "90%");
  });
  </script>
</head>
<body>

<div class="container">
  <h2>Modal Example</h2>
  <!-- Trigger the modal with a button -->
  <button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

  <!-- Modal -->
  <div class="modal fade" id="myModal" role="dialog">
    <div class="modal-dialog">
    
      <!-- Modal content-->
      <div class="modal-content">
        <div class="modal-header">
          <button type="button" class="close" data-dismiss="modal">&times;</button>
          <h4 class="modal-title">Modal Header</h4>
        </div>
        <div class="modal-body">
          <p>Some text in the modal.</p>
        </div>
        <div class="modal-footer">
          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
        </div>
      </div>
      
    </div>
  </div>
  
</div>

</body>
</html>



0

ฉันคิดว่าสิ่งนี้เกิดขึ้นเนื่องจากความกว้างสูงสุดของโมดอลถูกตั้งค่าเป็น 500px และความกว้างสูงสุดของ modal-lg คือ 800px ฉันคิดว่าการตั้งค่าเป็นอัตโนมัติจะทำให้โมดอลของคุณตอบสนอง


0

ฉันรู้ว่ามันเก่า แต่สำหรับทุกคนที่กำลังมองหาตอนนี้คุณต้องตั้งค่าคุณสมบัติความกว้างสูงสุด

.modal-1000 {
    max-width: 1000px;
    margin: 30px auto;
}

-2
.your_modal {
    width: 800px;
    margin-left: -400px; 
 }

ค่าขอบด้านซ้ายคือครึ่งหนึ่งของความกว้างของโมดอล ฉันใช้สิ่งนี้กับธีม Maruti Admin เนื่องจากไม่มีคลาส.modal-lg .modal-sm

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.