Correct HTML semantics pretty much requires that you have another element inside. In this case, your text should be wrapped in <p>
tags.
Doing that automatically gives you something to hook into to set margin
or padding
on the inner element.
That said, if you really can't/won't have an inner element, remove your width
and set right: 0
. The nifty thing about absolutely positioned elements is that if you set opposing positions to 0, you can "stretch" the element (it works with top/bottom, too).
Alternatively, if your element isn't positioned absolutely, you can change your width: 100%
to max-width: 100%
(or add the max-width
line, to deal with a bug in an old version of IE, if you have to go back that far), which will hard-cap the total width. This one's in action here - http://jsfiddle.net/3FrLq/5/ .