Home >Web Front-end >CSS Tutorial >Why Do Inline-Block List Items Have Unwanted Margins, and How Can I Fix Them?
When displaying inline-block elements within a list, users may encounter an unwanted margin that surrounds the items. Despite explicitly setting the margin to 0, the elements still exhibit spacing.
This issue arises due to the nature of inline-block elements. Inline-block elements retain whitespace characters, including those between and around the elements. This results in a 4px margin to the right of each element.
Solution
To eliminate the unwanted margin, users have two options:
Change the Display Property:
Convert the display property from inline-block to float: left. This method will remove the whitespace-related margins.
Concatenate Element Tags:
Block the ending tags and beginning tags of the list items together. This approach removes the whitespace characters that cause the margin.
Example
Consider the following HTML and CSS:
<ul> <li><div>first</div></li> <li><div>first</div></li> <li><div>first</div></li> <li><div>first</div></li> </ul>
ul { padding: 0; border: solid 1px #000; } li { display: inline-block; padding: 10px; width: 114px; border: solid 1px #f00; margin: 0; } li div { background-color: #000; width: 114px; height: 114px; color: #fff; font-size: 18px; }
By changing the display property to float: left, the unwanted margin is removed:
li { display: float: left; ... }
Alternatively, concatenating the tags removes the whitespace characters:
<ul> <li><div>first</div></li><li><div>first</div></li><li><div>first</div></li><li><div>first</div></li> </ul>
The above is the detailed content of Why Do Inline-Block List Items Have Unwanted Margins, and How Can I Fix Them?. For more information, please follow other related articles on the PHP Chinese website!