<ul> <li>home</li> <li>about</li> <li>products</li> <li>services</li> <li>contact</li> </ul>
.navi { width:800px; margin:0 auto; } .navi ul { margin:0; padding:0; } .navi ul li { background-color: #37d; color:#fff; padding:4px 0; text-align: center; display: inline-block; font-size: 14px; width: 20%; } .navi ul li:nth-child(even) { background-color: #64d; }● htmlのliの記述で改行せず一列にすることで、この隙間をなくすことができます。ただし、ソースがとても見づらくなります。
<ul> <li>home</li><li>about</li><li>products</li><li>services</li><li>contact</li> </ul>● htmlのliの記述を変更することなく隙間をなくす方法です。サンプル3はサンプル1と同じhtmlとCSSを使い、ulの指定のみ「font-size:0」を追加しています。文字の表示に関しては、liであらためて「font-size:14px」を指定しているので、問題ありません。
.navi2 ul { margin:0; padding:0; font-size:0; /* 追加 */ }