Let say I have this HTML code snippet:
<div id="container">
<div id="textContent">Text Content Te</div>
<div id="anotherText">Another Text Content</div>
</div>
Original HTML output http://img26.imageshack.us/img26/1571/beforeeffect.gif
I wonder how I could dynamically resize the div‘s textContent width so that it fits its text content nicely (neither the text will be wrapping nor scrolling nor truncated).
Desired HTML output http://img26.imageshack.us/img26/5851/desiredeffect.gif
I am open to any solution using CSS and/or JavaScript.
Assuming the content would fit without overflowing, you could use a float without a width set (width isn’t required in CSS 2.1 or greater). Without more detail, I can’t suggest where to put it or what other properties to set to get the desired effect (eg, floats float down around following content, so put it at the beginning of a paragraph).
If you’re not concerned with the effect looking perfect on old browsers like Internet Explorer, you could use
display: tableordisplay: table-cell, with the caveat that tables don’t overflow: they stretch. That stretching may be desirable if you want to avoid overflow of your div, but allow it to overlow the viewport — eg, a film strip that scrolls horizontally. In that case, altCognito’s suggestion ofwhite-space: nowrapwould be very useful.