สมมติว่ามาร์กอัปนี้:
<table class="table table-bordered" align="center">
ไม่ว่าจะมีเซลล์กี่เซลล์ตารางจะมีความกว้าง 100% เสมอ ทำไมเป็นอย่างนั้น?
สมมติว่ามาร์กอัปนี้:
<table class="table table-bordered" align="center">
ไม่ว่าจะมีเซลล์กี่เซลล์ตารางจะมีความกว้าง 100% เสมอ ทำไมเป็นอย่างนั้น?
คำตอบ:
ตารางทั้งหมดภายใน bootstrap ยืดออกตามคอนเทนเนอร์ซึ่งคุณสามารถทำได้ง่ายๆโดยวางตารางไว้ใน.span*
องค์ประกอบกริดที่คุณเลือก หากคุณต้องการลบคุณสมบัตินี้คุณสามารถสร้างคลาสตารางของคุณเองและเพิ่มลงในตารางที่คุณต้องการขยายด้วยเนื้อหาภายใน:
.table-nonfluid {
width: auto !important;
}
คุณสามารถเพิ่มคลาสนี้ภายในสไตล์ชีทของคุณและเพิ่มไปยังคอนเทนเนอร์ของตารางของคุณเช่น:
<table class="table table-nonfluid"> ... </table>
วิธีนี้การเปลี่ยนแปลงของคุณจะไม่มีผลกับสไตล์ชีท bootstrap (คุณอาจต้องการตารางฟลูอิดที่อื่นในเอกสารของคุณ)
.span*
คลาสลงในตารางของคุณเพื่อให้มีความกว้างได้
!important
ไปยังwidth: auto
<table style="width: auto;" ...
ทำงานได้ดี ทดสอบใน Chrome 38, IE 11 และ Firefox 34
jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
หากคุณกำลังใช้เงินทุนที่ 4, .w-auto
การใช้งาน
ต่อสู้กับมันทำไม ทำไมไม่ควบคุมความกว้างของตารางโดยใช้ตาราง bootstrap? นี่คือมาร์กอัป Bootstrap 3
<div class="row">
<div class="col-sm-6">
<table></table>
</div>
</div>
สิ่งนี้จะสร้างตารางที่มีครึ่งหนึ่ง (6 จาก 12) ของความกว้างขององค์ประกอบที่มี
บางครั้งฉันใช้รูปแบบอินไลน์ตามคำตอบอื่น ๆ แต่มันก็ท้อแท้
หากคุณใช้ bootstrap 4 มันมีคลาสตัวช่วยที่ดีสำหรับความกว้างเช่น:
w-25, w-50, w-75, and w-100
นี่คือเอกสาร: https://getbootstrap.com/docs/4.0/utilities/sizing/
ฉันมีปัญหาเดียวกันฉันทำตารางคงที่แล้วระบุความกว้าง td ของฉัน หากคุณมีที่คุณสามารถทำเช่นนั้น
<style>
table {
table-layout: fixed;
word-wrap: break-word;
}
</style>
<td width="10%" /td>
ฉันไม่มีโชคกับ. table-nonfluid
width: auto !important;
ฉันพยายามเพิ่มstyle="width: auto !important"
และใช้งานได้ดีสำหรับฉัน!
<link>
แท็กสไตล์ที่กำหนดเองของคุณปรากฏใต้<link>
แท็กBootstrap ) กฎนั้นจะเรียงซ้อนตามที่ออกแบบมาและคุณไม่จำเป็นต้องใช้!important
ข้อยกเว้นเลย สิ่งนี้เป็นจริงเพราะwidth: 100%;
มีการกำหนดไว้table
ในBootstrap CSSและดังนั้นจึงเป็นการแทนที่width: auto;
กฎของคุณ