<div id="parent"> <div id="child">hello world</div> </div>Centering with margin, it has to be done at child level:
#parent { width: 50vw; height: 50vh; background-color: gray; display: flex; } #child { margin: auto; }Try it at: https://jsfiddle.net/xd7uwgn8/
It's better if it is done at the parent level, the parent should be able to control the child elements:
#parent { width: 50vw; height: 50vh; background-color: gray; display: flex; justify-content: center; align-items: center; } #child { }Try it at: https://jsfiddle.net/xd7uwgn8/2/
Another good thing if it is done at parent level, creating unnecessary div+margin:auto for the content could be avoided:
<div id="parent"> hello world </div>Try it at: https://jsfiddle.net/xd7uwgn8/3/