css样式咨询

一个DIV是占满整个屏幕高度,设置overflow-y: auto; padding: 15px;为什么padding-bottm没生效呢?

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
      .main {
          background-color: #1f2d3d;
          width: 400px;
          height: 400px;
          overflow-y: auto;
          padding: 50px;
      }

      .box {
          background-color: #409EFF;
          width: 100px;
          height: 500px;
      }
  </style>
</head>
<body>
<div class="main">
  <div class="box">
  </div>
</div>
</body>
</html>

实际效果
图片.png

图片.png

padding上左右都有,子div超出父div高度后,padding-bottom就失效了、网上找了说是除chrome外,其它所有浏览器都会忽略底部padding-bottom值

阅读 2.4k
4 个回答

试了一下楼主的代码,确实在火狐或者IE浏览器下padding-bottom会存在消失的情况,楼主想要的回答是不是这篇文章所写的
csdn

box-sizing: border-box;

overflow 是包含 padding 那一部分的,如果你想上下都留一点距离,可以用border 代替,比如

div{
    border: 15px solid transparent;
}

image.png

目前我看谷歌火狐safari 都是好用的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题