I'd try using two DIVs, one inside another. Something like this:
<div class="outer">
<div class="inner">Hello, world!</div>
</div>
.outer {
width: 1px; /* Or zero, or something very small */
margin: auto;
overflow: visible;
background: red; /* A color just for debug */
}
.inner {
margin-left: 20px;
background: yellow; /* A color just for debug */
width: 100px; /* Depending on the desired effect, width might be needed */
}
See this example live at jsfiddle.
The outer div
would be horizontally centered as per this question/answer: How to horizontally center a <div> in another <div>?
Then, the inner diff is just moved 20 pixels to the right, using a margin.
Note that, if you leave width
as auto
, the width will be zero, and it might not be what you want.