padding-bottom控制高度有疑问,另图片显示有问题

padding-bottom控制高度有疑问,另图片显示有问题

1、http://img1.sycdn.imooc.com//climg/5ecb2bae09ce671f03990350.jpg

这部分。icons的padding-bottom是它自身的宽度的25%吗?icon的padding-bottom和它的width一样,都是它父级元素宽度的25%?它是谁的25%是根据什么决定的呢,怎么一会是它自身的宽度一会又是它父元素的宽度了?

2、图片不知道为什么显示的总是原始尺寸,从头到尾都一直是这样特别大,不像老师视频里那样设置了个啥以后就局限在容器里了。

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

<template>

  <div class="icons">

    <div class="icon">

      <div class="icon-img">

        <div class="icon-img-content">

          <img

            src="http://img1.qunarzz.com/piao/fusion/1611/54/ace00878a52d9702.png"

          />

        </div>

      </div>

      <p class="icon-desc">热门景点</p>

    </div>

  </div>

</template>


<script>

export default {

  name: "HomeIcons"

};

</script>


<style lang="stylus" scoped>

@import '~styles/varibles.styl'


.icons

    overflow hidden

    height 0

    padding-bottom 50%

    .icon

        position relative

        overflow hidden

        float left

        width 25%

        height 0

        padding-bottom 25%

        .icon-img

            position absolute

            top 0

            left 0

            right 0

            bottom .44rem

            box-sizing border-box

            padding .1rem

            .icon-img-content

                display block

                margin 0 auto

                height 100%

        .icon-desc

            position absolute

            left 0

            right 0

            bottom 0

            height .44rem

            line-height .44rem

            text-align center

            color $darkTextColor

</style>



正在回答

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

3回答

同学你好,首先padding-bottom的百分比的值是按照父元素宽度的值计算,这个是没有问题的。课程中老师说icons的宽度是100%。padding-bottom:50%是参考icons的宽度计算的,是因为icons的父元素没有设置固定的宽度,默认显示宽度为100%,icons也没有设置固定的宽度(课程中老师临时设置width:100%是为了演示默认宽度显示的是100%),因此默认显示也是100%,这样,icons的宽度和其父元素的宽度都是100%,icons的padding-bottom:50%参考自身和父元素结果是一样的,因此,说其参考的是icons的宽度也可以,但是实际上参考的是icons的父元素。如下:

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

同理,icon的padding参考的也是父元素的宽度。另外,padding-bottom参考哪个并不是根据什么来定的,就是固定的根据父元素的宽度计算。

希望可以帮到你,如有疑问可再次提问,祝学习愉快!

  • Aurora_Meteor 提问者 #1
    所以说padding设置百分比的时候总是以父元素的宽度为参考是吗?上下左右内边距都是?是只有在vue里是这样算的还是所有和css样式有关的地方都是这个规则呢
    2020-05-25 16:12:39
  • 卡布琦诺 回复 提问者 Aurora_Meteor #2
    同学你好,不单单是在vue里面,在所有的css里面,padding-top、padding-bottom、margin-top、margin-bottom取值为百分比的时候,都是参照父元素的宽度进行计算的(划重点:是取百分比值的时候参照父元素计算哦),祝学习愉快!
    2020-05-25 16:23:35
  • Aurora_Meteor 提问者 回复 卡布琦诺 #3
    老师你咋只说了上下的top和bottom呢,是左右的left和right不生效么?还是说left和right取百分比是以父元素的高度为参考呢?
    2020-05-25 16:26:54
卡布琦诺 2020-05-25 13:49:58

同学你好,下内边距参考的是父级的宽度,所以icon的宽度与垂直方向占据的高度(下内边距撑开的),都是父级的25%,所以是一个正方形。

希望可以帮到你,如有疑问,可再次提问,祝学习愉快!

  • 提问者 Aurora_Meteor #1
    我知道啊,您没明白我问题吧。 我说的是怎么icons的padding-bottom是参考它自身的宽度,而icon的padding-bottom是参考父元素的宽度了?难道是我听错了,它们两个都是参考的父元素宽度?
    2020-05-25 14:25:20
  • 提问者 Aurora_Meteor #2
    它们两个参考的宽度不是不同元素的吗,一个自身一个父级,不一样啊。我要问的是参考哪个是根据什么来决定的呢?
    2020-05-25 14:26:34
  • 卡布琦诺 回复 提问者 Aurora_Meteor #3
    可能老师没有解释的特别通俗易懂,导致同学仍然有疑问,老师已经在上面重新帮你分析了原理,同学可以查看哦~
    2020-05-25 15:51:04
提问者 Aurora_Meteor 2020-05-25 12:20:53

图片显示的问题的解决了,麻烦回答一下padding-bottom的问题

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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