Quiero ajustar un texto que se agrega a un <td>
elemento. He tratado con style="word-wrap: break-word;" width="15%"
. Pero no está envolviendo el texto. ¿Es obligatorio darle un ancho del 100%? Tengo otros controles para mostrar, por lo que solo el 15% de ancho está disponible.
html
css
html-table
word-wrap
zool
fuente
fuente
Respuestas:
Para ajustar el texto de TD
Primer estilo de mesa
luego configure TD Style
fuente
white-space: normal
el estilo td para que la envoltura funcionara (en lugar deword-wrap:break-word
)white-space:normal;
white-space: pre-wrap
si necesita preservar el espacio en blanco.Las tablas HTML admiten un estilo css "table-layout: fixed" que evita que el agente de usuario adapte los anchos de columna a su contenido. Es posible que desee usarlo.
fuente
Creo que has encontrado la trampa 22 de las mesas. Las tablas son excelentes para envolver contenido en una estructura tabular y hacen un trabajo maravilloso de "estiramiento" para satisfacer las necesidades del contenido que contienen.
Por defecto, las celdas de la tabla se estirarán para ajustarse al contenido ... por lo tanto, su texto solo lo ensancha.
Hay algunas soluciones.
1.) Puede intentar establecer un ancho máximo en el TD.
2.) Puede intentar poner su texto en un elemento de ajuste (por ejemplo, un espacio) y establecer restricciones en él.
Sin embargo, tenga en cuenta que las versiones anteriores de IE no admiten min / max-width.
Dado que IE no admite el ancho máximo de forma nativa, deberá agregar un truco si desea forzarlo. Hay varias formas de agregar un hack, esta es solo una.
En la carga de la página, solo para IE6, obtenga el ancho renderizado de la tabla (en píxeles), luego obtenga el 15% de eso y aplíquelo como el ancho al primer TD en esa columna (o TH si tiene encabezados) nuevamente, en píxeles .
fuente
table-layout:fixed
resolverá el problema de expansión de la celda, pero creará uno nuevo. IE por defecto ocultará el desbordamiento pero Mozilla lo renderizará fuera de la caja.Otra solución sería usar:
overflow:hidden;width:?px
fuente
Créditos a http://www.blakems.com/archives/000077.html
fuente
Esto funcionó para mí con algunos marcos css (material design lite [MDL]).
fuente
Uso
word-break
que se puede utilizar sin peinartable
atable-layout: fixed
fuente
Esto funciona muy bien:
Puede usar el mismo ancho para todos sus
<div
's, o ajustar el ancho en cada caso para dividir su texto donde quiera.De esta manera, no tiene que perder el tiempo con anchos de tabla fijos o css complejos.
fuente
Tuve algunos de mis
td
s con:Esto lo resolvió para mí:
fuente
Para hacer que el ancho de la celda sea exactamente igual a la palabra más larga del texto, simplemente configure el ancho de la celda en
1px
es decir
Esto es experimental y llegué a saber sobre esto mientras hacía prueba y error
Violín en vivo: http://jsfiddle.net/harshjv/5e2oLL8L/2/
fuente
Es posible que esto funcione, pero podría resultar un poco molesto en algún momento en el futuro (si no de inmediato).
La razón para esto
span
es que, como lo han señalado otros, a<td>
se expandirá típicamente para acomodar el contenido, mientras que a<span>
se le puede dar -y se espera que mantenga- un ancho establecido; Eloverflow: hidden
objetivo es ocultar, pero puede que no, lo que de otro modo causaría la<td>
expansión.Recomiendo usar la
title
propiedad del span para mostrar el texto que está presente (o recortado) en la celda visual, de modo que el texto todavía esté disponible (y si no quiere / necesita que la gente lo vea, entonces ¿por qué tenerlo? en primer lugar, supongo ...).Además, si define un ancho para el
td {...}
td se expandirá (o potencialmente se contraerá, pero lo dudo) para llenar su ancho implícito (como lo veo, parece sertable-width/number-of-cells
), un ancho de tabla específico no parece crear El mismo problema.La desventaja es el marcado adicional utilizado para la presentación.
fuente
En realidad, el ajuste del texto ocurre automáticamente en las tablas. El error que cometen las personas durante las pruebas es asumir hipotéticamente una cadena larga como "ggggggggggggggggggggggggggggggggggggggggggggggg" y quejarse de que no se ajusta. Prácticamente no hay una palabra en inglés que sea tan larga e incluso si la hay, existe una leve posibilidad de que se use dentro de eso
<td>
.Intente probar con oraciones como "La contraposición es supersticiosa en circunstancias predeterminadas".
fuente
Aplique clases a sus TD, aplique los anchos apropiados (recuerde dejar uno de ellos sin ancho para que asuma el resto del ancho), luego aplique los estilos apropiados. Copie y pegue el código a continuación en un editor y véalo en un navegador para verlo funcionar.
fuente
fuente