html ul li

图文详解如何让ul中的li元素横向排列(附代码)

在页面布局时,我们经常会用到li标签,因为li标签用途很广泛,它可以用来制作列表,选项卡,导航等等。但是<ul>标签里的li默认情况下是纵向排列的,那我们可不可以让li横向排列呢?这篇文章就给大家介绍两种方法,来实现HTML中ul列表横向排列。有需要的朋友可以参考一下,希望对你有用。

ul列表的横向排列在导航中用得比较多,接下来就通过横向导航实例来讲讲如何用CSS让ul横向排列。

注意:

1、li列表前面默认有小圆点,有时候为了美观需要去掉多余的小圆点,可以使用CSS中的list-style:none这个属性,当然也可以在列表前面加一些图片。

2、为了让页面更具有吸引力,导航一般都会用到伪类元素,最常见的就是hover,它可以实现鼠标经过导航时,改变导航的背景颜色,字体大小,图片等等。

3、巧妙使用CSS中的display属性。如果需要让li具有高度和宽度,并且需要调节菜单内容的位置,必须将display属性值设置为block,将其变成块级元素后,padding,text-align等属性才起作用。

一、display:inline 实现ul横向排列

用ul li做一个横向导航,实现鼠标经过时,背景颜色改变。代码如下:

HTML部分:

<ul id="nav">

        <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>

CSS部分:

<style type="text/css">           

    #nav {

            margin: 50px auto;

            height: 40px;

             background-color: #690;

          }         

    #nav ul {

        list-style: none;

        margin-left: 50px;

        }           

    #nav li {

        display: inline;                

        }           

    #nav a {

        line-height: 40px;

        color: #fff;

        text-decoration: none;

        padding: 20px 20px;

        }           

    #nav a:hover {

        background-color: #060;

        }

</style>

效果图:

二、float:left 实现ul横向排列

用float:left 实现ul横向排列,li浮动以后会脱离标准流,且不占位置,如果它的父级元素有具体的样式且没有固定宽高,还需要对父元素清除浮动,或者设置固定宽高。HTML部分和上面一样,CSS部分如下所示:

效果图:

导航1.jpg

鼠标经过的效果:

导航2.jpg

二、float:left 实现ul横向排列

用float:left 实现ul横向排列,li浮动以后会脱离标准流,且不占位置,如果它的父级元素有具体的样式且没有固定宽高,还需要对父元素清除浮动,或者设置固定宽高。HTML部分和上面一样,CSS部分如下所示:

<style type="text/css">

    #nav {

        height: 40px;

        margin-top: 50px;

        background-color: #690;

        }           

    #nav ul {

        list-style: none;               

        margin-left: 50px;

        }           

    #nav li {

        display: block;

        float: left;

        }           

    #nav a {

        line-height: 40px;

        display: block;

        color: #fff;

        text-decoration: none;

        padding: 0 20px;

        }           

    #nav a:hover {

        background-color: #060;

        }

</style>

效果和上面一样,只是方法不一样。

总结:float:left和display:inline都可以实现ul li横向排列,具体选择什么方法,看个人习惯和项目需要吧,初学者可以自己动手尝试,希望可以帮助到你。

Leave a comment

您的电子邮箱地址不会被公开。 必填项已用 * 标注