html - Unwanted padding space created by ul and li -
html
<ul> <li><img src="images/yellow.gif" alt="yellow"></li> <li><img src="images/orange.gif" alt="orange"></li> <li><img src="images/purple.gif" alt="purple"></li> <li><img src="images/blue.gif" alt="blue"> </li> <li><img src="images/pink.gif" alt="pink"> </li> <li><img src="images/green.gif" alt="green"> </li> <li><img src="images/black.gif" alt="black"> </li> <li><img src="images/gray.gif" alt="gray"> </li> <li><img src="images/red.gif" alt="red"> </li> </ul> css
ul{ display: flex; flex-wrap: wrap; width: 45%; height: 40%; border: 1px solid red; list-style: none; margin: 0 auto; } ul li{ flex: 1; } actual output
as per actual output, there left-margin on inspecting ul element, shown below,
there right-margin on inspecting li element, shown below
expected output
1) why these margin space exist?
2) how avoid these margin space?
the whitespace on left caused default padding on ul. remove with:
ul { padding-left: 0; } (note browsers may use margin instead of padding indentation.)
the whitespace on right caused flex-wrap feature. when flex items wrap, container does not recalculate width shrink-wrap new layout.
by re-sizing window horizontally , forth, you'll see right spacing come , go: demo
here more details , possible workaround: https://stackoverflow.com/a/32811002/3597276




Comments
Post a Comment