问答详情
源自:6-3 鼠标经过事件(onmouseover)

关于边框覆盖问题,怎样才能用li白色下边框把下面div的上边框覆盖掉不显示。。新人求教,谢谢了

<div id="par_div">
   <ul class="list">
       <li><a href="#">房产</a></li>
       <li><a href="#">家居</a></li>
       <li><a href="#">二手房</a></li>
   </ul>
   <div class="news" id="news1">
       <p>275万购昌平邻铁三居 总价20万买一居</p>
       <p>200万内购五环三居 140万安家东三环</p>
       <p>北京首现零首付楼盘 53万购东5环50平</p>
       <p>京楼盘直降5000 中信府 公园楼王现房</p>
   </div>
   <div class="news" id="news2">
       <p>40平出租屋大改造 美少女的混搭小窝</p>
       <p>经典清新简欧爱家 90平老房焕发新生</p>
       <p>新中式的酷色温情 66平撞色活泼家居</p>
       <p>瓷砖就像选好老婆 卫生间烟道的设计</p>
   </div>
   <div class="news" id="new3">
       <p>275万购昌平邻铁三居 总价20万买一居</p>
       <p>200万内购五环三居 140万安家东三环</p>
       <p>北京首现零首付楼盘 53万购东5环50平</p>
       <p>京楼盘直降5000 中信府 公园楼王现房</p>
</div>
</div>


下面是css样式


*{
       margin: 0;
       padding: 0;
   }
   #par_div{
       margin-left: 200px;
       margin-top: 200px;
       float: left;
       height: 200px;
       width: 320px;
   }
   .list{
       height: 42px;
       width: 320px;
   }
.list li{
   list-style-type: none;
   width: 60px;
   height: 40px;
   line-height: 40px;
   text-align: center;
   display: inline-block;
   float: left;
   border-left: 1px solid dimgrey;
   border-right: 1px solid dimgrey;
   border-top: 1px solid dimgrey;

}
.list li a{
   text-decoration: none;
   color: darkgray;
   display: block;
}

.news{
   clear: both;
   line-height: 25px;
   height: 158px;
   width: 320px;
   border:1px solid #336699;
   border-top:1px saddlebrown solid;
   padding: 5px;
}
#new3,#news2{
   display: none;
}

提问者:我I诶U 2017-10-12 21:32

个回答

  • 六月的飞羽
    2017-10-13 02:24:16
    已采纳

    可以使用z-index,margin-bottom和border-bottom三个属性来联合实现。

    • 设置 li 的border-bottom为none,这样 li 的底部就不会显现;

    • 设置div#news1的margin-bottom的值为-2px,使ul和div#news1的底边和顶边相互接触;

    • 设置div#news1的z-index为负值,这样div#news1就叠放在ul下面。 li 的底边就覆盖掉了和div#news1的顶边相接处的部分。

  • 最爱是雪碧_球球
    2018-08-03 17:11:55

    可以用z-index深度来设置各元素的重叠高低关系,可以先设置position属性