Предположим, эта разметка:
<table class="table table-bordered" align="center">
Независимо от того, сколько я имею ячеек, таблица всегда 100% ширины. Почему это?
Предположим, эта разметка:
<table class="table table-bordered" align="center">
Независимо от того, сколько я имею ячеек, таблица всегда 100% ширины. Почему это?
Ответы:
Все таблицы в начальной загрузке растягиваются в соответствии с их контейнером, что вы можете легко сделать, поместив свой стол в .span*элемент сетки по вашему выбору. Если вы хотите удалить это свойство, вы можете создать свой собственный класс таблицы и просто добавить его в таблицу, которую вы хотите расширить с помощью содержимого внутри:
.table-nonfluid {
width: auto !important;
}
Вы можете добавить этот класс в вашу собственную таблицу стилей и просто добавить его в контейнер вашей таблицы следующим образом:
<table class="table table-nonfluid"> ... </table>
Таким образом, ваше изменение не повлияет на саму таблицу стилей начальной загрузки (возможно, вы захотите иметь таблицу изменений в другом месте документа).
.span*класс к своей таблице, чтобы придать ей некоторую ширину.
!importantвwidth: auto
<table style="width: auto;" ...работает отлично. Протестировано в Chrome 38, IE 11 и Firefox 34.
jsfiddle: http://jsfiddle.net/rpaul/taqodr8o/
Если вы используете Bootstrap 4, используйте .w-auto.
Зачем бороться с этим? Почему бы просто не контролировать ширину стола с помощью сетки начальной загрузки? Это 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/
У меня возникла та же проблема, я исправил таблицу, а затем указал ширину ТД. Если у вас есть то, что вы можете сделать это.
<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;правило.