สมมติว่ามาร์กอัปนี้:
<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;กฎของคุณ