First you need to give a fix width to table and then any td will take width according to the table's width. I try this please check and let me know if working for you :
<table style="border:1px solid #898989; table-layout:fixed;width:600px;">
<tr>
<td width="25%" style="border:1px solid #898989; table-layout:fixed;word-wrap:break-word">
LongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongText
</td>
<td width="75%" style="border:1px solid #898989; table-layout:fixed;word-wrap:break-word">
ShortText
</td>
</tr>
</table>
It's depend on you that how much width's table you want so if you want that your table width will fixed then provide fix width otherwise if you didn't provide any width your table will took same width that it's parent div has, for example :
<div style="width:600px">
<table style="border:1px solid #898989; table-layout:fixed;width:100%;">
<tr>
<td width="25%" style="border:1px solid #898989; table-layout:fixed;word-wrap:break-word">
LongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongText
</td>
<td width="75%" style="border:1px solid #898989; table-layout:fixed;word-wrap:break-word">
ShortText
</td>
</tr>
</table>
</div>
In this case table will took 500px width because table don't have any width so it is taking same width that it's parent div has. And if you will provide width then it will take width according to that as my first comment.