老师这个头像居中是怎么回事,没有浮动为什么会需要overflow:hidden;

来源:3-2 项目作业

weibo_执著的弧线_0

2019-12-19 22:05:30

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>index</title>
   <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0">
   <link rel="stylesheet" href="../lib/reset.css" />
   <link rel="stylesheet" href="/MeituanPR/Common/bottomBar/bottomBar.css" />
   <link rel="stylesheet" href="/MeituanPR/my/my.css" />
   <script type="text/javascript">
      <!--修改HTML根元素单位为rem-->
 (function () {
         var docEL = document.documentElement;
         function setRemUnit() {
            //获取rem基准值
 var rem = docEL.clientWidth/10;

            //动态设置HTML根元素的fontsize
 docEL.style.fontSize = rem + 'px';
         }
         setRemUnit();
         //窗口大小变化时触发
 window.addEventListener('resize',setRemUnit);

         //窗口出现在当前屏幕时(有浏览器兼容性)
 window.addEventListener('pageshow',function (e) {
            if (e.persisted){
               setRemUnit();
            }
         })
      })();
   </script>
</head>
<body>
   <!--头部开始-->
 <div class="my-top">
      <!--头像-->
 <div class="top-img"></div>
   </div>
   <div class="content">
      <div class="address">收货地址管理</div>
      <div class="coupons">商家代金券</div>
   </div>
   <div class="content">
      <div class="advice">意见反馈</div>
      <div class="proplem">常见问题</div>
   </div>
   <div class="content">客服电话:&nbsp;101-097-77</div>
   <div class="content-bottom">服务时间:&nbsp;9:00-23:00</div>
   <!--头部结束-->
   <!--底部栏开始-->
 <div class="bottom-tab"></div>
   <!--底部栏结束-->
<script type="text/javascript" src="/MeituanPR/lib/jquery.min.js"></script>
<script type="text/javascript" src="/MeituanPR/Common/bottomBar/bottomBar.js" ></script>
</body>
</html>
.my-top{
    height: 4.267rem;
    width: 100%;
    background-image: url("img/header.png");
    overflow: hidden;

}
.my-top .top-img{
    width: 1.92rem;
    height: 1.92rem;
    border-radius: 50%;
    border: 0.08rem solid rgba(255,255,255,0.4);
    background-image: url("http://i.waimai.meituan.com/static/img/default-avatar.png");
    background-size: cover;
    margin:0 auto;
    margin-top: 0.667rem;
}


写回答

1回答

好帮手慕糖

2019-12-20

同学你好,这个不是浮动导致的,是因为子元素设置了margin-top的原因。

子元素设置margin-top,导致父级也下移了。

这是一个css hack 问题 ,外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,解决方案:

(1)为父元素增加padding-top样式
(2)为父元素添加overflow:hidden;
(3)为父元素或者子元素声明浮动
(4)为父元素添加border(border:1px solid transparent) 
(5)为父元素声明绝对定位

所以给父元素添加overflow:hidden;也是可以的。

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

0

0 学习 · 6815 问题

查看课程