老师这个头像居中是怎么回事,没有浮动为什么会需要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">客服电话: 101-097-77</div> <div class="content-bottom">服务时间: 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回答
同学你好,这个不是浮动导致的,是因为子元素设置了margin-top的原因。
子元素设置margin-top,导致父级也下移了。
这是一个css hack 问题 ,外边距合并问题常见于第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距,解决方案:
(1)为父元素增加padding-top样式
(2)为父元素添加overflow:hidden;
(3)为父元素或者子元素声明浮动
(4)为父元素添加border(border:1px solid transparent)
(5)为父元素声明绝对定位
所以给父元素添加overflow:hidden;也是可以的。
如果我的回答帮助了你,欢迎采纳,祝学习愉快!
相似问题