css – li float vs display:inline

前端之家收集整理的这篇文章主要介绍了css – li float vs display:inline前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有最佳的选择浮动:左或显示:内联水平排列列表项?

例如:http://www.vanseodesign.com/css/simple-navigation-bar-with-css-and-xhtml/

我个人不喜欢浮动,但也许更多的是一种情感的事情,而不是逻辑的。

解决方法

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你不能设置属性,如width,padding(top和bottom),margin等…这是布局的一个障碍。

EDIT 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; }

检查fiddle在这里。

如果您不想使用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>

猜你在找的CSS相关文章