Если дочерний элемент является встроенным (например, не 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
элемент обертки, чтобы его содержимое также было центрировано.
Я не буду беспокоиться о позиционировании, потому что ИМХО это не путь для решения проблемы ОП, но не забудьте проверить эту ссылку , очень полезно.