我正在尝试创建一个水平显示的列表(UL)。每个项目都有一些填充。我遇到的问题是,当列表到达行尾并开始包装到下一行时,它不会渲染得足够低,并且开始与第一行重叠。有人可以帮我弄清楚如何让包装进入下一行而不重叠?
这是CSS
.letterlist ul { margin: 0; padding: 0; list-style-type: none; list-style-image: none; } .letterlist li { display:inline; } .letterlist li a { margin: 4px; color:#eee; padding: 10px 20px; background:#3c66ad; font-size:16px; font-weight: bold; border-radius: 5px; }
这是HTML
<p> <ul class="letterlist"> <li><a href="/list/A">A</a></li> <li><a href="/list/B">B</a></li> <li><a href="/list/C">C</a></li> <li><a href="/list/D">D</a></li> <li><a href="/list/E">E</a></li> <li><a href="/list/F">F</a></li> <li><a href="/list/G">G</a></li> <li><a href="/list/H">H</a></li> <li><a href="/list/I">I</a></li> <li><a href="/list/J">J</a></li> <li><a href="/list/K">K</a></li> <li><a href="/list/L">L</a></li> <li><a href="/list/M">M</a></li> <li><a href="/list/N">N</a></li> <li><a href="/list/O">O</a></li> <li><a href="/list/P">P</a></li> <li><a href="/list/Q">Q</a></li> <li><a href="/list/R">R</a></li> <li><a href="/list/S">S</a></li> <li><a href="/list/T">T</a></li> <li><a href="/list/U">U</a></li> <li><a href="/list/V">V</a></li> <li><a href="/list/W">W</a></li> <li><a href="/list/X">X</a></li> <li><a href="/list/Y">Y</a></li> <li><a href="/list/Z">Z</a></li> </ul> </p>
如果重要,我正在使用蓝图CSS。
解决方法
您可以浮动所有的li元素或给它们显示:inline-block,然后给它们一些顶部和底部边距:
.letterlist li { float: left; /* or */ display: inline-block; margin: 20px 0; }
参见:http://www.jsfiddle.net/yijiang/z8Gfe/一个简单的例子。顺便说一下,ul元素在p段落中无效