tu najbardziej brutalne rozwiązanie
<table style="width:100%">
<tr>
<td style="text-aligh:right;">
<div style="border:solid 1px;width:200px;margin:0 auto">treść</div>
</td>
<td style="text-aligh:left;">
<div style="border:solid 1px;width:200px;margin:0 auto">treść</div>
</td>
</tr>
</table>
niestety nie będziesz mieć oblewania tekstem w środku.
możesz też wywalić tabelę, użyć position:relative dla drugiego div i przesunąć go w prawo, jednak jeśli kontener ma zmienną szerokość, to nie uzyskasz pożądanego efektu (i ponownie nie będzie oblewania tekstem pośrodku). możesz też użyć margin:auto i dać dla któregoś bloku duży padding, który odsunie go od drugiego, wady identyczne jak w poprzednim zdaniu.
czemu musisz użyć z-index? może zadziała coś takiego?
<div style="border:solid 1px;float:left"><div style="z-index:5">treść</div></div>
<div style="border:solid 1px;float:right"><div style="z-index:5">treść</div></div>