为了账号安全,请及时绑定邮箱和手机立即绑定

如何让li在ul上面

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

http://img1.sycdn.imooc.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>

正在回答

3 回答

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

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

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

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

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

0 回复 有任何疑惑可以回复我~
#1

我们的洗手间 提问者

实验上来看貌似就是overflow:hidden的原因。因为代码中li设置了float,所以为了消除浮动对父元素的影响,设置了overflow:hidden。为了让li的边框遮住ul的边框,设置了<li>的margin-bottom为负。这样设置以后只能看见父元素的边框,而看不见li的边框。并不是因为li在父元素的下面,而是因为li的边框溢出了,所以就hidden了。
2016-03-25 回复 有任何疑惑可以回复我~
#2

快乐崇拜tager 回复 我们的洗手间 提问者

很有道理哦,这个方法不错,受教了。 还有一个方法忘说了,直接用position:relative; z-index:20;来设置div在Z轴的分层,把要放在后面的div的Z-index的属性设置为负数就好了。不过要注意两个问题:1.必须在有position属性的情况下Z-index的属性才有效。2.不用写单位PX。
2016-03-25 回复 有任何疑惑可以回复我~

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


0 回复 有任何疑惑可以回复我~

border-bottom:none;


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何让li在ul上面

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信