css ul li 如何实现 横向排列

html-css06

css ul li 如何实现 横向排列,第1张

因为li是块级元素,默认占一行的,要想实现横向排列,一般通过以下两个方法:

float:left

这样设置有一个问题,li浮动以后则脱离了文本流,即不占位置,如果它的父级元素有具体的样式且没有固定宽高,建议父元素清除浮动,或者设置固定宽高

display:inline-block

即把li变为行内元素且可以设置宽高以及边距,这样也有一个问题,低版本的Ie浏览器不兼容inline-block,建议在其后再加两个属性兼容低版本ie

*display:inline

*zoom:1

使用float属性,使他横向排列即可。

<style>

ul,li{padding:0margin:0list-style:none}

ul{width:1000px}

ul li{float:leftwidth:200px}/**li标签float属性,使他左浮动**/

ul li a{display:blockwidth:100%padding:20px 0 text-align:center}

</style> <ul>

    <li><a href="#">菜单一</a></li>

    <li><a href="#">菜单一</a></li>

    <li><a href="#">菜单一</a></li>

    <li><a href="#">菜单一</a></li>

    <li><a href="#">菜单一</a></li>

</ul>

具体效果根据自身项目,调节即可!

li { display: inline-block}

li { *display: inline*zoom: 1}

利用CSS的inline-blick属性,后边两个是针对低版本IE的HACK,注意这个HACK比较特殊,要像我这样独立地写出来

而且,每个li标签之间不能有空格或换行,要像这样写,否则就会造成莫名其妙的外边距,这算是inline-block里面一个不算BUG的BUG吧。。。

<ul><li>

内容

</li><li>

内容2

</li><li>

内容3

</li></ul>

另外,float会带来很多问题,所以不建议用float