Search code examples
csshtmlwidthtransition

How to increase an width:auto DIV's width by X pixels using pure CSS


I have a DIV (that is set to float:left) that has its width set to auto because i want it to be just as wide as its contents.

On hover, i would like to increase width of the DIV by say, 20 pixels.

When setting a fixed width in the :hover CSS class, the container will get that width on hover, but

  1. CSS3-Transitions won't apply/work (tested in Firefox 15.0.1)
  2. If my DIV's contents are larger than that fixed width, the final width will not be correct.

How - without the usage of javascript - can i keep the content of the DIV adjusted to its content, and have it increase that width by a certain amount of pixels on hover?

See my JSFiddle here.


Solution

  • I saw your fiddle, though I'm not sure this is the exact effect you need, try this:

    .myDiv:hover {
        padding-right: 20px; 
    }