JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="table">
<div class="table-row">
<div class="table-row-cell">Long string input that we want to word break and not overflow into other cell</div>
<div class="table-row-cell">short</div>
<div class="table-row-cell">short</div>
<div class="table-row-cell">short</div>
</div>
<div class="table-row">
<div class="table-row-cell">normal length</div>
<div class="table-row-cell">short</div>
<div class="table-row-cell">short</div>
<div class="table-row-cell">short</div>
</div>
</div>
</div>
CSS
html, body { padding: 0; margin: 0; }
.container {
width: 400px;
}
.table {
display: -webkit-box;
display: -moz-box;
display: box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: column nowrap;
-moz-flex-flow: column nowrap;
flex-flow: column nowrap;
-ms-flex-direction: column;
-ms-flex-wrap: nowrap;
-webkit-box-pack: justify;
-moz-box-pack: justify;
-ms-flex-pack: justify;
box-pack: justify;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
-ms-justify-content: space-between;
-o-justify-content: space-between;
justify-content: space-between;
}
.table-row {
display: -webkit-box;
display: -moz-box;
display: box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-flow: row nowrap;
-moz-flex-flow: row nowrap;
flex-flow: row nowrap;
-ms-flex-direction: row;
-ms-flex-wrap: nowrap;
}
.table-row-cell {
display: -webkit-box;
display: -moz-box;
display: box;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-grow: 1;
-moz-flex-grow: 1;
flex-grow: 1;
-ms-flex-positive: 1;
-webkit-flex-basis: 0;
-moz-flex-basis: 0;
flex-basis: 0;
-ms-flex-preferred-size: 0;
word-wrap: break-word;
overflow-wrap: break-word;
word-break: break-all;
word-break: break-word;
-ms-word-wrap: break-word;
-ms-overflow-wrap: break-word;
-ms-word-break: break-all;
-ms-word-break: break-word;
padding: 0.5em;
}