ul { list-style-type: none; overflow: hidden; width:200px; }
ul li { float:left; width: 100px; }
ul li a { display: block; padding: 10px; width:80px; }
ul li a:hover { background: black; }
<ul>
<li><a href="http://www.facebook.com">Facebook</a></li>
<li><a href="httpt://www.google.com">Google</a></li>
</ul>
Это то, что я предпочитаю в основном потому, что когда вы используете display:inline
, вы не можете устанавливать такие свойства, как ширина, отступ (сверху и снизу), поля и т. Д., Что является помехой для макета.
РЕДАКТИРОВАТЬ 2014
Также можно использовать свойство display: inline-block
. Следует обратить внимание на то, что, как только вы сделаете элементы списка встроенными или встроенными в блок, пробелы будут приняты во внимание. Следовательно, между элементами будут нежелательные пробелы.
ul { list-style-type: none; width: 300px; font-size: 0; }
ul li { display: inline-block; *display: inline; zoom: 1; margin-right: 10px; }
/* The *display and zoom is a IE hack, though can't remember
now which one (guess it is IE7) */
ul li a { display: inline-block; padding: 10px; font-size: 13px; }
Проверьте скрипку здесь.
Если вы не хотите использовать свойство font-size
(для проблем совместимости браузера), вы также можете использовать html-комментарии, чтобы избавиться от пробелов! Хотя я предпочитаю метод выше.
<ul><!--
--><li><a href="http://www.facebook.com">Facebook</a></li><!--
--><li><a href="httpt://www.google.com">Google</a></li><!--
--></ul>