Załóżmy, że ten znacznik:
<table class="table table-bordered" align="center">
Bez względu na to, ile mam komórek, tabela ma zawsze 100% szerokości. Dlaczego tak jest?
twitter-bootstrap
skowron-line
źródło
źródło
Odpowiedzi:
Wszystkie stoły w module bootstrap są rozciągane zgodnie z ich pojemnikiem, co można łatwo zrobić, umieszczając stół w
.span*
wybranym elemencie siatki. Jeśli chcesz usunąć tę właściwość, możesz utworzyć własną klasę tabeli i po prostu dodać ją do tabeli, którą chcesz rozszerzyć, zawierającą zawartość:Możesz dodać tę klasę do własnego arkusza stylów i po prostu dodać ją do kontenera swojej tabeli w następujący sposób:
W ten sposób twoja zmiana nie wpłynie na sam arkusz stylów bootstrap (możesz chcieć mieć płynną tabelę w innym miejscu w dokumencie).
źródło
.span*
klasę do swojego stołu, aby nadać mu pewną szerokość.!important
dowidth: auto
<table style="width: auto;" ...
działa w porządku. Testowane w Chrome 38, IE 11 i Firefox 34.jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
źródło
Jeśli używasz Bootstrap 4, użyj
.w-auto
.Zobacz https://getbootstrap.com/docs/4.1/utilities/sizing/
źródło
Odpowiedź 1:
Po co z tym walczyć? Dlaczego po prostu nie kontrolować szerokości stołu za pomocą siatki bootstrap? To jest znacznik Bootstrap 3.
Spowoduje to utworzenie tabeli o połowie (6 z 12) szerokości elementu zawierającego.
Czasami używam stylów wbudowanych zgodnie z innymi odpowiedziami, ale jest to odradzane.
Odpowiedź nr 2:
Jeśli używasz bootstrap 4, ma kilka fajnych klas pomocniczych dla szerokości, takich jak:
Oto dokument: https://getbootstrap.com/docs/4.0/utilities/sizing/
źródło
Miałem ten sam problem, naprawiłem tabelę, a następnie określiłem szerokość td. Jeśli masz, możesz to zrobić.
Nie miałem szczęścia z .table-nonfluid.
źródło
width: auto !important;
!important
(to zła praktyka ). Zobacz komentarz do odpowiedzi poniżej .Próbowałem dodać
style="width: auto !important"
i działa świetnie dla mnie!źródło
<link>
tag stylów pojawia się poniżej<link>
tagu Bootstrap ), wtedy reguły będą kaskadowane zgodnie z projektem i nie powinieneś w ogóle potrzebować swojego!important
wyjątku. Jest to prawdą, ponieważwidth: 100%;
zostało zdefiniowane dlatable
w Bootstrap CSS, a więc zastępuje Twojąwidth: auto;
regułę.