Если дочерний элемент является встроенным (например, не a div, и tableт. Д.), Я бы обернул его внутри a divили a pи сделал бы свойство css выравнивания текста обертки равным center.
<div id="container">
This text is aligned to the left.<br>
So is this text.<br>
<div style="text-align: center">
This <button>button</button> is centered.
</div>
This text is still aligned left.
</div>
В противном случае, если элемент является блоком ( display: blockнапример, a divили a p) с фиксированной шириной, я бы установил его свойства left и right css на auto.
<div id="container">
This text is aligned to the left.<br>
So is this text.<br>
<div style="margin: 0 auto; width: 200px; background: red; color: white;">
My parent is centered.
</div>
This text is still aligned left.
</div>
Конечно, вы можете добавить text-align: centerэлемент обертки, чтобы его содержимое также было центрировано.
Я не буду беспокоиться о позиционировании, потому что ИМХО это не путь для решения проблемы ОП, но не забудьте проверить эту ссылку , очень полезно.