.nav height设置为205的疑问

.nav height设置为205的疑问

因为.nav-li的高度是auto 那如果nav-li块元素高度为300px 那么就超出.nav height的205 我是这么想的 请问老师 为什么不会出现这种现象 超出去也没事吗

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

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

2回答
好帮手慕言 2020-01-14 09:55:55

同学你好,老师给.nav元素的高度设置205px,是提前计算好的。

如果li元素的高度大于205px,那么li会溢出父级,如下:

http://img1.sycdn.imooc.com//climg/5e1d1dba09df8da605390407.jpg

效果图:

http://img1.sycdn.imooc.com//climg/5e1d1d8409889adc04860536.jpg

因为这里使用的是定位,看不出会带来什么样的影响,如果不使用定位,在.nav后面再添加一个元素,就会看到影响了,如下:

http://img1.sycdn.imooc.com//climg/5e1d1e95093947b604920296.jpg

http://img1.sycdn.imooc.com//climg/5e1d1eb109a64b9c05220322.jpg

http://img1.sycdn.imooc.com//climg/5e1d1ec409f00d7b04130139.jpg

效果图:
http://img1.sycdn.imooc.com//climg/5e1d1ef70982027f02880488.jpg

从图中会发现,新添加的元素是从.nav元素后面排列的,覆盖在li元素上,导致样式出现了问题,这就是子级溢出父级带来的影响。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

好帮手慕言 2020-01-13 18:21:45

同学你好,子元素的高度可以超过父元素的高度,但是一般情况下,并不推荐这样做,可能会带来其他的问题。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 慕粉1149105846 #1
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>position</title> <style> * { padding: 0; margin: 0; } .page { width: 100%; height: 4043px; background: url("mooc.png") center top no-repeat; } .nav { width: 160px; height: 205px; position: fixed; left: 0; top: 50%; margin-top: -103px; font-family: 'Miscrosoft YaHei'; } .nav-li { width: 160px; height: auto; border-bottom: 1px solid #FFF; background: #333; text-align: center; color: #FFF; font-size: 16px; cursor: pointer; } .tit { width: 160px; height: 40px; line-height: 40px; } .nav-li:hover ul { display: block; } .nav-li ul { width: 160px; height: auto; background: #FFF; display: none; } .nav-li ul li { width: 160px; height: 40px; border-bottom: 1px dashed #666; color: #333; text-align: center; line-height: 40px; position: relative; } </style> </head> .nav-li height 是auto, .nav height为什么可以是固定值205px 如果nav-li高度大于205 会怎样
    2020-01-13 22:33:28
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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