Search code examples
htmlcsswidthhtml-tablemax

Setting the maximum width of a table


I'm trying to set the maximum width of a table, but it doesn't seem to be working. If a word inside the table is too long, it automatically expands the width of the table. How do I stop that from happening, and instead have the word that's too long go to the next line?

<style>table {
  max-width: 300px;
}

table,
td {
  border: 1px solid red;
}

div {
  border: 1px solid blue;
  word-wrap: break-word;
}

</style>
<table>

  <tr>
    <td>
      <div> hellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohellohello
      </div>
    </td>
  </tr>

</table>


Solution

  • If you want to make your max-width to work, you need to set the CSS property table-layout: fixed; on the table and use width, not max-width.

    https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout