这里css设置的height为100%,有点疑问

这里css设置的height为100%,有点疑问

# 具体遇到的问题
当时在做 慕云游静态开发的作业时,没有设置高度,图片是填满整个banner区的,为什么设置了高度为100%后反而不能填满banner区了​。而且在5-4功能实现那节课中,使用offsetwidth获取了一个slider-item的宽度,这里的offsetwidth获取的是设置的100%(浏览器的宽度)吗?而且为啥在这儿图片有填满整个banner区了。不是没改height吗?
# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

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

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

3回答
好帮手慕言 2020-12-11 19:12:43

同学你好,同学理解的不对,li元素设置了左浮动,按理来说,所有的li是要在一行显示的,但是因为ul的宽度不够放下5个li的,所以li元素会垂直排列。

banner区域的高度是由内容撑开的,一共有5个li,banner区域的高度为:li的高度*5。

祝学习愉快~

  • 老师你好,

    .slider,

    .slider-content,

    .slider-item,

    .slider-img {

        width100%;

        height100%;

    }

    这里设置宽高都为100%,请问是谁的100%?宽度的100%可以理解,是占满整个屏幕的宽度,但是高度的100%,是不是body的100%?.slider的父元素是.banner,.banner的父元素就是body

    另外,.slider-img的父元素是a标签,a标签没有设置宽高,那么.slider-img的两个100%到底是相对于谁的100%?

    2022-03-08 21:48:00
  • 同学你好,高度100%始终是根据父盒子高度计算的,但是.slider父盒子.banner没有设置高度,body,html也没有设置高度,其实还是内容撑起来的高度。

    .slider-img的高度100%无法相对父盒子进行计算,是自己的高度。其实这里的height:100%;去掉也没有什么影响。

    祝学习愉快!

    2022-03-09 10:31:21
  • width:100%能撑满整个屏幕,为什么height:100%不能撑满整个屏幕呢

    2022-03-09 10:40:10
好帮手慕言 2020-12-11 15:10:27

同学你好,解答如下:

1、同学是想说为什么banner区域有多张图片垂直排列吗?同学才觉得没有铺满(觉得banner区域有一张图片才是铺满banner区域的),5-2小节最终实现的效果如下:

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

如果是的话,那么解答如下:li元素设置了左浮动,按理来说,所有的li是要在一行显示的,但是因为ul的宽度不够放下5个li的,所以li元素会垂直排列。

2、在5-4小节中,给li的宽度设置为了浏览器的宽度(浏览器多宽li就多宽),ul的宽度是5个li的总宽度。li可以在一行显示了,垂直方向上就只有一张图片了。

3、下方元素都设置了高为100%,整个banner区域的高度也就是一张图片的高度,所以看起来是铺满图片铺满屏幕了。

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

4、在之前写的静态项目中,banner区域的高度就是图片的高度,所以看起来是铺满banner区域的。同学可以再理解一下。

祝学习愉快~

  • 提问者 qq_慕用6596887 #1
    确实没有设置左浮动,所以是排成一列的。但为什么一个li的高度不是banner区的高度?
    2020-12-11 15:18:26
好帮手慕言 2020-12-11 11:07:58

同学你好,解答如下:

1、有可能是图片没有设置宽度,只设置了高度,高度设置之后,图片的宽度会自适应,可能会出现图片的宽度不能铺满屏幕。同学也可以把代码粘贴上来,老师根据同学的代码分析原因。

2、关于offsetwidth理解的是对的。

3、元素的样式设置了100%,可以填满banner区域。

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

祝学习愉快~

  • 提问者 qq_慕用6596887 #1

    不是,我的疑问是这个

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

    这里设置了宽度和高度为100%,但图片并没有填满banner区域。

    而静态项目开发作业中是这么写的http://img1.sycdn.imooc.com//climg/5fd2faa609c09f2a05890383.jpg

    没有指定高度为100%,可以填满banner区域。

    此外,在5-4功能实现中,js只实现了设置li的宽度,并没设置height。那照理说li的height应该保持css里写的height:100%。为什么可以填满banner区域呢?

    2020-12-11 12:57:47
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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