2011-11-06 10 views
15

td width es 162px a pesar de que style = "width: 25px" para TD y TH¿Por qué el navegador muestra td es más grande que mi propiedad de ancho especificado?

He puesto esto en mi archivo css

table, td, th { 
    border: 1px solid black; 
} 
table { 
    border-collapse:collapse; 
} 

table.narrow th, td { 
    width:50px; 
} 

No funciona. El último se supone que debe tomar una tabla con class = "narrow" y hacer que todos sus elementos descendientes th y td sean de 50px de ancho. Y Chrome muestra las reglas CSS coincidentes:

.narrow th, td { width: 50px; } 

So chrome está leyéndola y haciendo caso omiso de ella? O CSS es simplemente idiota? ¿O lo soy? ¿Por qué CSS no puede hacer lo que le dices, como un lenguaje de programación normal?

SO, traté de poner style = "width: 25px" en la primera columna td AND th tags y aún así, no funciona. Chrome muestra:

element.style { width:25px; } 

pero no me dirá por qué demonios lo está mostrando en 162px.

¿Alguien tiene alguna pista? Gracias.


Editar: Kolink me dio la pista que necesitaba. Los campos de texto de formulario dentro de las etiquetas causaban un ancho mínimo grande. Añadí este estilo para reducir el tamaño de la tabla:

.narrow input{ 
    width:80px; 
} 

Se reduce el ancho de todas las entradas dentro de la clase = mesa "estrecho" y por lo tanto reduce el ancho de la mesa.

Respuesta

29

Establezca en los estilos de la tabla. De lo contrario, la disposición de la mesa es suelta y width se trata más como min-width.

+1

Hmm Veo que tienes tres votos positivos, pero esto no funcionó para mí. table-layou: fijo; aparece en el navegador. Sin efecto en el ancho de la celda. –

+0

¿El contenido de la celda es más ancho que el ancho deseado, sin posibilidad de rotura? Tal vez intente 'word-break: break-all' o' overflow: hidden' en las celdas. –

+0

Ah sí, gracias. Estaba mostrando valores en campos de formulario desactivados. Supongo que su tamaño predeterminado es 155px en Chrome. ¡Agregué otro estilo a mi archivo CSS para ellos y ahora FINALMENTE funciona! .hw3p3 input { \t ancho: 80px; } –

2

Su definición es para todos anotaciones

table.narrow th, td { 
    width:50px; 
} 

Hay que repetir el elemento afectado en la enumeración

table.narrow th, table.narrow td { 
    width:50px; 
} 
+0

¿De verdad? Supongo que tiene sentido, pero no se me ocurrió. –

Cuestiones relacionadas