1

Таблицы Bootstrap не учитывают сетку, даже если они имеют классы col-xs-X.Как я могу заставить таблицы уважать сетку в Bootstrap 3?

Вот минимальный пример, который показывает, как таблица (красная) не совпадает с (серыми) сетками: http://jsfiddle.net/fm65v3e0/

.col-xs-1 { 
 
    background-color: #eee; 
 
    border: 1px solid #999; 
 
} 
 

 
th { 
 
    background-color: #fee; 
 
    border: 1px solid red; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 
<div class="container"> 
 
    <div class="row"> 
 
    <div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div><div class="col-xs-1">col</div> 
 
    </div> 
 
    <div class="row"> 
 
    <div class="col-xs-12"> 
 
     <div class="table-responsive"> 
 
     <table class="table"> 
 
      <tr> 
 
      <th class="col-xs-5"> 
 
       5-col header 
 
      </th> 
 
      <th class="col-xs-3"> 
 
       3-col header 
 
      </th> 
 
      <th class="col-xs-4"> 
 
       4-col header 
 
      </th> 
 
      </tr> 
 
     </table> 
 
     </div> 
 
    </div> 
 
    </div> 
 
</div>

Поскольку таблица появляется в колонке он имеет определенное количество дополнений снаружи. Если я удаляю прописку из столбцов, строка таблицы встает, но, конечно, теперь любой текст внутри столбца будет очищен от следующего столбца.

Кроме того, таблицы Bootstrap по умолчанию имеют ширину 100% и распределяют любое «запасное» пространство, если вы не используете все 12 столбцов.

Мой сайт почти полностью табличные данные, поэтому, если у меня нет таблиц, уважающих сетку, это немного похоже на то, что я не использую сетку вообще. Как вы думаете, я могу решить это легко? Ошибочно ли пытаться решить эту проблему?

+1

Можете ли вы представить пример вашего MCV вашего кода? (1) не может быть решена в бутстрапе, вам нужно будет решить это, добавив свои собственные правила CSS, которые не могут работать так, как работает Bootstrap Grid (как это работает с float). (2) Я не уверен, что понимаю это, поэтому я хотел бы видеть, что MCV https://stackoverflow.com/help/mcve –

+0

Annnd полностью переписал вопрос, потому что теперь у меня есть этот простой пример, нет необходимости зайдите на мой сайт, специфический материал :) –

ответ

1

Ваш загрузочный CSS-код добавляет padding-right: 15px и padding-left: 15px всем элементам col-xx-xx.

Удалить или переопределить прокладку, и все должно быть правильно выровнено. На приведенном ниже рисунке показано, что происходит в вашем Bootply при удалении прокладки.
enter image description here

Один из способов, чтобы переопределить это создать класс с именем no-padding так:

.no-padding { 
    padding-left: 0; 
    padding-right: 0 
} 

и применить его к любым элементам, где вы не хотите, набивка применяется. Here's an updated JS Fiddle showing this.

+0

Это работает для таблиц, но теперь все, что * не * * в таблице, скрыто от края столбца. (См. «Col» и как они касаются края их окна). Я полагаю, что, когда два столбца, содержащие таблицы, находятся рядом друг с другом, мне придется поместить пустой столбец между ними. Поэтому я мог бы сделать это для всех столбцов. Установите желобок сетки в 0 и используйте пустые столбцы для разделения содержимого по горизонтали. (Я на самом деле настраиваю Bootstrap на использование 24 столбцов, поэтому это меньше пространства, чем кажется.) Я дам ему вращение! –

+1

Вы можете создать новый класс без заполнения и применить его только к своим таблицам, обновив мой ответ, чтобы включить jsfiddle, показывающий это – Dan

+0

Awesome, спасибо! Теперь у меня есть новый, но очень близкий вопрос :) http://stackoverflow.com/questions/39060539/nested-rows-in-bootstrap-3-fail-to-respect-the-grid –

Смежные вопросы