Home > Article > Web Front-end > Why Doesn\'t `margin: auto;` Center Inline-Block Elements Horizontally?
margin:auto; in Inline-Block Elements
When applying margin:auto; to a div with inline-block display, it may not center the div horizontally as expected. This occurs because inline-block elements behave like inline elements, flowing along the page.
In the code provided:
Old Code (Works)
<code class="css">#container { width: 200px; ... }</code>
The div is given a specific width, ensuring it fits within its parent container.
New Code (Doesn't Work)
<code class="css">#container { display: inline-block; ... }</code>
Setting display: inline-block allows the div to shrink and grow depending on its content, leading to its improper alignment.
To center the div, the code requires:
Solution
<code class="css">.center { text-align: center; }</code>
This ensures that the inline-block div is centered.
<code class="html"><div class="center"> <div class="MtopBig" id="container">...</div> </div></code>
The above is the detailed content of Why Doesn\'t `margin: auto;` Center Inline-Block Elements Horizontally?. For more information, please follow other related articles on the PHP Chinese website!