Вы можете использовать следующее определение CSS для достижения этого:
<style type="text/css">
.element {
width:200px;
overflow: hidden;
text-overflow: ellipsis;
-o-text-overflow: ellipsis;
white-space: nowrap;
}
</style>
<div class="element">
This text will not wrap. Hamina hamina hamina hamina hamina.
</div>
Это должно предотвратить перенос текста на следующую строку. Если текст превышает ширину элемента, он обрезается. Если вы используете webkit / explorer, вы получите отличный эффект многоточия, когда текст обрезается (чтобы предположить, что текста больше, чем видно).
К сожалению, Firefox не поддерживает многоточие. Но текст все равно будет обрезан и не будет переноситься.
Я не проверял это определение с элементами button или textarea - только с divs. Но я не вижу причин, по которым это не должно работать. Я оставляю это вам, чтобы экспериментировать.