En mi tabla establezco el ancho de la primera celda en una columna 100px
.
Sin embargo, cuando el texto en una de las celdas de esta columna es demasiado largo, el ancho de la columna es mayor que 100px
. ¿Cómo podría deshabilitar esta expansión?
html
css
column-width
Misha Moroshko
fuente
fuente
table-layout:fixed;
es la soluciónRespuestas:
Jugué un poco con él porque tuve problemas para resolverlo.
Debe establecer el ancho de la celda (ya sea
th
otd
trabajado, configuré ambos) Y establecer eltable-layout
afixed
. Por alguna razón, el ancho de la celda parece permanecer fijo si el ancho de la tabla también está configurado (creo que es una tontería, pero de todas formas).Además, es útil establecer la
overflow
propiedadhidden
para evitar que salga texto adicional de la tabla.También debe asegurarse de dejar todos los bordes y tamaños para CSS.
Ok, entonces esto es lo que tengo:
Aquí está en JSFiddle
Este tipo tenía un problema similar: anchos de celda de tabla : ancho de fijación, ajuste / truncamiento de palabras largas
fuente
overflow: visible
para tablas de tamaño dinámico, siempre que el tamaño de las celdas sea fijo y el desbordamiento sea visible, no importa si el tamaño de la tabla en sí es mayor o menor que las celdas reales.Ver: http://www.html5-tutorials.org/tables/changing-column-width/
Después de la etiqueta de la tabla, use el elemento col. No necesitas una etiqueta de cierre.
Por ejemplo, si tuviera tres columnas:
fuente
table-layout: fixed; width: 100%;
. ¡Gracias!col
esto. Sugiere el uso de CSS aplicado a un<td>
(o un<th
>) - w3schools.com/tags/att_td_width.aspSólo tiene que añadir
<div>
en el interior de la etiqueta<td>
o<th>
definir anchura interior<div>
. Esto te ayudara. Nada más funciona.p.ej.
fuente
style="width: 50px"
en el<td>
<td>
no.Si necesita una o más columnas de ancho fijo, mientras que otras columnas deben cambiar de tamaño, intente establecer ambas
min-width
ymax-width
el mismo valor.fuente
table-layout: fixed;
no.Necesitas escribir esto dentro del CSS correspondiente
fuente
Lo que hago es:
Establecer el ancho de td:
Establezca el ancho de td con CSS:
Establezca el ancho nuevamente como máximo y mínimo con CSS:
Suena un poco repetitivo, pero me da el resultado deseado. Para lograr esto con mucha facilidad, es posible que necesite poner los valores CSS en una clase en su hoja de estilo:
entonces:
Coloque el atributo de clase a cualquiera
<td>
que desee.fuente
Yo usé esto
fuente
Si no desea un diseño fijo, especifique una clase para que la columna tenga el tamaño adecuado.
CSS:
HTML:
fuente
También ayuda, poner en la última "celda de relleno", con ancho: auto . Esto ocupará el espacio restante y dejará todas las demás dimensiones como se especifica.
fuente
Haga que la respuesta aceptada responda para pantallas pequeñas cuando sea más pequeña que el ancho fijo.
HTML:
CSS
JS Fiddle
https://jsfiddle.net/w9s3ebzt/
fuente
Configurando esto:
Trabajó para mi.
fuente
KAsun tiene la idea correcta. Aquí está el código correcto ...
fuente
Según mi respuesta aquí , también es posible usar un encabezado de tabla (que puede estar vacío) y aplicar anchos relativos para cada celda de encabezado de tabla. El ancho de todas las celdas en el cuerpo de la tabla se ajustará al ancho de su cabeza de columna. Ejemplo:
HTML
CSS
Ver resultado
Alternativamente, use
colgroup
como se sugiere en la respuesta de Hyathin.fuente
Uso un elemento :: after en la celda donde quiero establecer un ancho mínimo independientemente del texto presente, como este:
No tengo que establecer el ancho en la tabla principal ni usar el diseño de tabla.
fuente
Encontré que la respuesta de KAsun funciona mejor usando vw en lugar de px, así:
<td><div style="width: 10vw" >...............</div></td>
Este fue el único estilo que necesitaba para ajustar el ancho de la columna
fuente
No es necesario configurarlo
"fixed"
; todo lo que necesita es configurarlo,overflow:hidden
ya que el ancho de la columna está configurado.fuente