2-13 编程练习:宽度问题

2-13 编程练习:宽度问题

求教:同一行中所有img的宽度与左右padding的和(用百分百表示)是100%的话,最后一个img就会被挤到下一行,所以我不得不把img的宽度调小了一个百分比,这样才都显示在同一行中。这是为什么?而且感觉同样数值的padding-bottom比padding-top要宽一点点,这又是怎么回事?谢谢!

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
    /*此处写代码*/
    *{
        margin:0px;
        padding:0px;
    }
    .top{
        background:lightblue;
    }
    .bottom{
        background:pink;
    }
    .top img{
        padding-top:2%;
        padding-bottom:2%;

        padding-right:10%;
        width:34%;
    }
    .top img:first-child{
        padding-left:10%;
    }
    .bottom img{
        padding-top:2%;
        padding-bottom:2%;

        padding-right:10%;
        width:19%;
    }
    .bottom img:first-child{
        padding-left:10%;
    }
  </style>
</head>
<body>
  <!-- 此处写代码 -->
  <div class="box">
      <div class="top">
          <img src="http://img1.sycdn.imooc.com/climg//58c0f808000129a303600215.jpg">
          <img src="http://img1.sycdn.imooc.com/climg//58c0f819000198a703600214.jpg">
      </div>
      <div class="bottom">
          <img src="http://img1.sycdn.imooc.com/climg//58c0f81d0001fe4402000060.jpg">
          <img src="http://img1.sycdn.imooc.com/climg//58c0f8220001dfce02000060.jpg">
          <img src="http://img1.sycdn.imooc.com/climg//58c0f8780001c74602000060.jpg">
      </div>
  </div>
</body>
</html>

正在回答

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

3回答

1、因为img标签的表现形式是display:inline-block,有默认的行间距。避免这种情况,可以将img设置为浮动。注意:浮动元素会造成父元素的高度塌陷、建议给父元素再添加一个overflow:hidden;。

2、padding-bottom比padding-top要宽一点点的情况,也这么处理就行。


  • EricTaku 提问者 #1
    非常感谢!
    2017-09-18 18:28:12
  • EricTaku 提问者 #2
    非常感谢你的解答,简洁而实用。能请你再详细解释一下overflow: hidden; 是怎样解决父元素的高度塌陷问题吗?
    2017-09-18 18:35:00
怎么都被占用了呢 2017-09-19 09:35:07

这个属性定义溢出元素内容区的内容会如何处理。当解析overflow属性,它要完成几个计算问题:第一,元素本身是否定义了高度,第二,元素的布局模式,第三,包含子元素的大小。如果当元素没有明确定义高度的情况下,而布局又是以流动布局显示,此时它会考虑子元素的高度。

  • 提问者 EricTaku #1
    非常感谢!
    2017-09-19 10:12:33
怎么都被占用了呢 2017-09-18 18:44:33

overflow:hidden不仅有超出部分隐藏的功能个,还有重新计算元素大小的功能哦

  • 提问者 EricTaku #1
    那背后的实现原理是怎样的呢?能否详细解释一下,谢谢~
    2017-09-19 05:36:40
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星

相似问题

登录后可查看更多问答,登录/注册

前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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