2011-10-24 6 views
8

Ho una tabella di larghezza del 100% con 3 colonne. La colonna centrale deve avere una larghezza di 600 px. Come posso avere gli altri due di uguale larghezza mentre utilizzo lo spazio rimanente?Tabella con 3 colonne. Corretta la larghezza della colonna centrale. Come avere larghezza condivisa su altre due colonne?

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

Attualmente, a seconda del contenuto delle colonne sinistra o destra, sono sempre irregolari. Ho provato a impostare una larghezza del 50% a sinistra e a destra così come altri numeri e prove di larghezza minima.

Si prega di non jquery/javascript. Grazie

+0

controllo la soluzione indicato di seguito con la modifica di colgroup – Nishant

risposta

-2

Immagino che "allinea = centro" usato con la colonna centrale possa aiutarti.

0

L'utilizzo del tag "colgroup" potrebbe essere di grande aiuto.

<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

Questa è la soluzione migliore e deve essere utilizzata per la gestione di larghezza di tabelle. – Nishant

4

Nuova risposta a questa vecchia domanda.

  1. Dare la colonna centrale th un max-width e min-width invece di width
  2. Dare a sinistra ea destra th un width di 50%.
  3. Non date affatto il a width.

Ho risolto questo esempio colonna centrale width a 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>