2011-10-24 16 views
8

tengo una mesa de 100% de ancho con 3 columnas. La columna central debe tener un ancho de 600px. ¿Cómo puedo tener los otros dos anchos iguales mientras uso el espacio restante?Tabla con 3 columnas. Ancho de columna de centro fijo. ¿Cómo se ha compartido el ancho en otras dos columnas?

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

Actualmente, dependiendo del contenido de las columnas izquierda o derecha, siempre son desiguales. He intentado configurar un 50% de ancho a la izquierda y derecha, así como otros números y pruebas de ancho mínimo.

Por favor, no jquery/javascript. Gracias

+0

verificación de la solución mencionada a continuación con la etiqueta colgroup – Nishant

Respuesta

-2

Supongo que "align = center" usado con la columna central puede ayudarlo.

0

El uso de la etiqueta "colgroup" podría ser de gran ayuda para esto.

<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

Esta es la mejor solución y se debe utilizar para la gestión de ancho de tablas. – Nishant

4

Nueva respuesta a esta vieja pregunta.

  1. Dale la columna del medio th un max-width y min-width en lugar de width
  2. Dar a la izquierda y derecha th un width de 50%.
  3. No proporcione el table a width en absoluto.

He reparado este ejemplo columna central width en 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> 
Cuestiones relacionadas