这段代码还是不大懂

这段代码还是不大懂

相关代码:

.nav-container{
overflow: hidden;
height: 0;
border-bottom: 1px solid #dadada;
transition: height 0.5s;
position: relative;
top: -1px;
}
.nav-container-extended{
height: 201px;
top: 0;
}


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕星星 2021-08-05 10:29:30

同学你好,问题解答如下:

1、底边框是在top为-1的时候设置的

http://img1.sycdn.imooc.com//climg/610b4cd0099e30d404720154.jpg

即使改变top为0,又没有改变边框样式,所以仍然显示。

2、top为-1的时候并不是消除底边框,而是上移后盖住了顶部的底边框,看着只有一条。顶部和下拉菜单都设置了底边框,如果设置top为0,在没有内容的情况下,两个边框会挨着(老师给两个边框都改变了颜色,蓝色和红色,看着明显一些)

http://img1.sycdn.imooc.com//climg/610b4be60928cb5214400291.jpg

http://img1.sycdn.imooc.com//climg/610b4bc509e0b92804720094.jpg

但是我们只想要一条,所以设置top为-1,上移元素,下拉菜单底边框盖住顶部底边框。就像两个元素遮盖一样,例如:

http://img1.sycdn.imooc.com//climg/610b4c670963d05304380529.jpg

http://img1.sycdn.imooc.com//climg/610b4c73097963f302420221.jpg

自己再理解下,祝学习愉快!

好帮手慕星星 2021-08-04 14:00:31

同学你好,这部分是给下拉导航添加动画效果。点击按钮时会添加nav-container-extended类

http://img1.sycdn.imooc.com//climg/610a2b5f095497db05500036.jpg

http://img1.sycdn.imooc.com//climg/610a2b69091294e006120031.jpg

所以初始给nav-container类设置高度为0,添加高度过渡属性

http://img1.sycdn.imooc.com//climg/610a2ba909f9fb0602400021.jpg

当点击按钮后,nav-container-extended类中高度为210px,这样就会有高度的过渡效果。

而top值初始设置为-1,是因为有底边框。高度为0,有底边框看着不美观,所以上移了。扩展之后top正常为0 

http://img1.sycdn.imooc.com//climg/610a2cde092918f200000000.jpg

http://img1.sycdn.imooc.com//climg/610a2cef09c269ae15040331.jpg

自己再测试理解下,祝学习愉快!

  • 我想知道当top:0的时候,为啥会有底边框呢,这到底是哪个css代码在起作用,top:-1就可以消除底边框,这是css的规定还是有别的道理?

    2021-08-04 20:15:06
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师