问答详情
源自:10-1 编程挑战

如何让li在ul上面

从大家的提问中发现,把margin-bottom设为-2px就可以用li的下边框遮盖ul的下边框。但是我不管怎样试,都是ul的下边框遮盖了li的下边框。结果如图,代码如下

http://img.mukewang.com/56f284230001595104690073.jpg

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>实践题 - 选项卡</title>

    <style type="text/css">

    *{

        margin=0px;

        padding=0px;

        font: 10pt/13pt "微软雅黑", times;

    }

    .tab{overflow:hidden;padding:0px;border-bottom:2px solid #8B4513;}

    .tab li{float:left;

            width:70px;

            height:35px;

            line-height:35px;

            text-align:center;

            list-style-type:none;

            border:2px solid black;

            margin:0px 2px -2px 2px;


    }

       

    </style>

    <script type="text/javascript">

         

    // JS实现选项卡切换

    

    

    </script>

 

</head>

<body>

    <ul>

        <li>房产</li>

        <li>家居</li>

        <li>二手房</li>

</ul>

提问者:我们的洗手间 2016-03-23 19:55

个回答

  • 快乐崇拜tager
    2016-03-25 14:01:07
    已采纳

    要想让<li>元素border-bottom不显示的方法其实方法有很多。原则上都是让<li>在前遮住<ul>的底线就行。

    理论上用不用overflow:hidden对<li>是否在前都不会有影响。。overflow:hidden主要是用来隐藏溢出的内容,以及用来清除对父元素的浮动影响。

    用overflow:hidden当没有设置父元素高度时可以将父元素撑开,当设置父元素高度时,多于父元素高度的内容将被隐藏。。。。

    可以用diaplay:inblock;   position:等定位属性 ; float属性;都可以实现。让li 和ul的下边框重合,把li 的下边框颜色下设置成白色或底色就好了

    这是我的理解,希望能帮到你。。。

  • smis137
    2016-03-23 21:16:13

    你的ul的class应该就是tab吧
    .tab li{ }里加一句border-bottom:none;去了下边框应该就成了


  • smis137
    2016-03-23 21:09:56

    border-bottom:none;