2011-10-24 8 views
8

Mam tabelę o szerokości 100% z 3 kolumnami. Środkowa kolumna musi mieć szerokość 600 pikseli. Jak mogę mieć pozostałe dwie równe szerokości podczas używania pozostałej przestrzeni?Tabela z 3 kolumnami. Naprawiono szerokość kolumny środkowej. Jak udostępnić szerokość w dwóch innych kolumnach?

<table style="width: 100%"> 
    <tr> 
     <td>left</td> 
     <td style="width: 600px">center</td> 
     <td>right</td> 
    </tr> 
</table> 

Obecnie, w zależności od zawartości lewej lub prawej kolumny, są one zawsze nierówne. Próbowałem ustawić 50% szerokości na lewej i prawej stronie, a także inne liczby i min-szerokości prób.

Proszę nie jquery/javascript. Dziękujemy

+0

check rozwiązanie wymienionych poniżej COLGROUP tagu – Nishant

Odpowiedz

-2

Domyślam się, że "align = center" użyte w środkowej kolumnie może ci pomóc.

0

Używanie znacznika "colgroup" może być bardzo pomocne.

<table class="fixed-center-table" border="1"> 
     <thead> 
      <colgroup> 
       <col> 
       <col id="middle-column"> 
       <col> 
      </colgroup> 
      <tr> 
       <th>First Column</th> 
       <th></th> 
       <th>Third Column</th> 
      </tr> 
     </thead> 

     <tbody> 
      <tr> 
       <td>AAAAAA</td> 
       <td>BBBB</td> 
       <td>CCCCC</td> 
      </tr> 
      <tr> 
       <td>AAAAAA</td> 
       <td>BBBB</td> 
       <td>CCCCC</td> 
      </tr> 
      <tr> 
       <td>AAAAAA</td> 
       <td>BBBB</td> 
       <td>CCCCC</td> 
      </tr> 
     </tbody> 
</table> 

.fixed-center-table { 
    table-layout: fixed; 
    width: 100%; 
    border-collapse: collapse; 
} 

.fixed-center-table td{ 
    text-align: center; 
} 

col#middle-column { 
    width: 600px; 
} 
+0

Jest to lepsze rozwiązanie i powinny być wykorzystywane do szerokości tabel zarządzania. – Nishant

4

Nowa odpowiedź na to stare pytanie.

  1. Daj kolumnę środkową thmax-width i min-width zamiast width
  2. Daj lewy i prawy thwidth z 50%.
  3. Nie podawaj w żaden sposób table ani jednej: width.

Naprawiłem tę przykładową środkową kolumnę width pod 300px.

jsBin Example!

CSS

table { 
    border-collapse: collapse; 
} 
th, td { 
    border: solid 1px #CCC; 
    padding: 10px; 
} 
.fixed { 
    max-width: 300px; 
    min-width: 300px; 
} 
.fluid { 
     width: 50%; 
} 

HTML

<table> 
    <thead> 
     <tr> 
      <th class="fluid">First Column</th> 
      <th class="fixed">Fixed Column</th> 
      <th class="fluid">Third Column</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td></td> 
      <td></td> 
      <td></td> 
     </tr> 
    </tbody> 
</table>