Ура, есть способ задать блоку ширину по содержимому без побочных эффектов. До сих пор мне было известно три общих способа:
position: absolute,
float или
display: table-cell либо display: table
и один для «Файерфокс» (пора уже перестать обманывать публику, и признать, что наша тян - женского рода), из внушающего надежды, но
недовнедрённого (на самом деле, у других браузеров есть какие-то аналоги) и недавно кардинально переделанного модуля
Flexible Box Layout, - display: -moz-box.
Но первые два влияют на размещение блока, а вторые два ограничивают использование position: relative (хотя в новом, 17-м, «Файерфоксе» удалось примирить display: table; position: relative;, но это новый, а разработка у нас идёт под Fx3.6).
Но вот оказалось, что с Fx3 есть значение свойства width:-moz-fit-content (и некоторые ещё -
реализация и
стандарт).