Following your first example, you have "center" and "right" so I'm inferring from that what you want, the rest of OP isn't quite clear to me.
The tricky part is actually having one be perfectly center, and one be on the right, and nothing on the left. Usually for stuff like this I'd use flexbox and put an extra container on the left to get the centering to work.
Here it is - just have your container be flex. Then set items to grow using 0 as basis (this is important so content width does not shift the centering and you get 3 equal width containers regardless of content). Then just wrap the one you want on the right in another div and justify-content: flex-end
to get it on the right.
That's the best I know off the top - maybe some better ways...
body { display: flex; }
body div { display: flex; flex: 1 1 0 }
body .f-right { justify-content: flex-end }
/* center line/decoration */
.center-line {
position: absolute;
left: 50%;
transform: translateX(-50%);
height: 100%;
width: 1px;
background: blue;
opacity: .3
}
body { margin: 0 }
<div></div>
<p>Hai from center</p>
<div class="f-right">
<p>Hai from right</p>
</div>
<!-- just showing center -->
<div class="center-line"></div>