Tengo problemas con una tabla html que desborda su contenedor principal.
.page {
width: 280px;
border:solid 1px blue;
}
.my-table {
word-wrap: break-word;
}
.my-table td {
border:solid 1px #333;
}
<div class="page">
<table class="my-table">
<tr>
<th>Header Text</th>
<th>Col 1</th>
<th>Col 2</th>
<th>Col 3</th>
<th>Col 4</th>
<th>Header Text</th>
</tr>
<tr>
<td>An archipelago is a chain or cluster of islands. The word archipelago is derived from the Greek ἄρχι- – arkhi and πέλαγος – pélagosthrough the Italian arcipelago. In Italian, possibly following a tradition of antiquity, the Arcipelago (from medieval Greek *ἀρχιπέλαγος) was the proper name for the Aegean Sea and, later, usage shifted to refer to the Aegean Islands (since the sea is remarkable for its large number of islands). It is now used to refer to any island group or, sometimes, to a sea containing a large number of scattered islands such as the Aegean Sea.[1]</td>
<td>some data</td>
<td>some data</td>
<td>some data</td>
<td>some data</td>
<td>An archipelago is a chain or cluster of islands. The word archipelago is derived from the Greek ἄρχι- – arkhi and πέλαγος – pélagosthrough the Italian arcipelago. In Italian, possibly following a tradition of antiquity, the Arcipelago (from medieval Greek *ἀρχιπέλαγος) was the proper name for the Aegean Sea and, later, usage shifted to refer to the Aegean Islands (since the sea is remarkable for its large number of islands). It is now used to refer to any island group or, sometimes, to a sea containing a large number of scattered islands such as the Aegean Sea.[1]</td>
</tr>
</table>
</div>
¿Cómo puedo forzar que tanto el texto del encabezado como el texto de la celda de la tabla se ajusten de manera que quepan en su contenedor correctamente? Preferiría un método solo de CSS, pero también estoy abierto a usar Javascript (o jQuery) si es absolutamente necesario.
fuente
word-wrap: break-word;
word-break: break-word
cuál funciona mejor.overflow-wrap
propiedad en su lugar, ya que está estandarizadoAgregar
display: block;
yoverflow: auto;
para.my-table
. Esto simplemente cortará cualquier cosa que supere el280px
límite que usted impuso. No hay forma de hacer que "se vea bonita" con ese requisito debido a palabras como laspélagosthrough
que son más amplias que280px
.fuente
Intenta agregar a
td
:los tds desbordados se alinearán con una nueva fila.
fuente
Bueno, dadas sus limitaciones, creo que configurar
overflow: scroll;
el.page
div es probablemente su única opción. 280 px es bastante estrecho, y dado su tamaño de fuente, el ajuste de palabras solo no lo hará. Algunas palabras son largas y no se pueden envolver. Puede reducir drásticamente el tamaño de la fuente o ir con desbordamiento: desplazamiento.fuente
actualice su CSS a lo siguiente: esto debería solucionar
fuente