Таблицы, переполненные CSS в Firefox - PullRequest
3 голосов
/ 30 октября 2009

У меня проблемы с поведением моего стола. Содержание постоянно переполняется, и мои попытки ограничить его не дают желаемого эффекта.

Это моя разметка:

<div class="repeatingdiv">
 <div class="hastitle">Some title</div>  
 <div class="hastable">
  <table>
   <thead><tr><th></th></tr></thead>     
   <tfoot><tr><th></th></tr></tfoot>
   <tbody>   
    <tr>
     <td class="col1">Col 1</td>
     <td class="col2">Col 2</td>
     <td class="col3">Col 3</td>
    </tr>
   </tbody>
  </table>
 </div>
</div>

У меня тогда есть какой-то стиль. td's переполнены, но мне не повезло, установив их overflow to hidden/auto. Мне повезло с настройкой переполнения в классе hastable, который содержит таблицу. Но мне все еще не удается заставить Firefox соблюдать распределение width для 3 столбцов: 30%, 35%, 35%. Я также попытался установить min-width, но все равно не повезло. У меня есть несколько таких таблиц на странице, и каждая из них имеет свою ширину. Любая помощь с этим беспорядком таблицы?

.repeatingdiv { }
.hastitle      { margin:0 10px; padding:3px 3px 1px 6px; }       
.hastable      { overflow:hidden; 
                 text-overflow: ellipsis; 
                 margin:10px; 
                 padding:10px; 
               }
table          { }
table tbody    { width: 100%; }
tr    { width: 100%; }
td.col1     { width:30%; min-width:30%; }
td.col2  { width:35%; min-width:35%; }
td.col3  { width:35%; min-width:35%; }

Ответы [ 2 ]

9 голосов
/ 30 октября 2009

Таблицы, как известно, сложно оформить. Попробуйте добавить это в свой CSS:

table { table-layout: fixed; width: 100% /* or whatever fixed width */; }

Я бы также предложил использовать фактические элементы HTML COL / COLGROUP для определения ваших столбцов, например:

<table>
 <colgroup class="col1" />
 <colgroup class="col2" />
 <colgroup class="col3" />
 <thead><tr><th></th></tr></thead>     
 <tfoot><tr><th></th></tr></tfoot>
 <tbody>   
  <tr>
   <td>Col 1</td>
   <td>Col 2</td>
   <td>Col 3</td>
  </tr>
 </tbody>
</table>

Обратите внимание, что, несмотря на это, ячейки с переполненными данными будут заставлять содержащиеся ячейку, строку и таблицу расширяться, чтобы соответствовать. CSS overflow: auto / hidden / scroll не влияют на ячейки.

Ссылка:

3 голосов
/ 09 апреля 2013

Оберните свою таблицу в div и установите переполнение для div.

<div style='overflow:scroll;'>
    <table>
      ...
    </table>
</div>
...