解决第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距的实现方案

解决第一个子元素的margin-top会顶开父元素与父元素相邻元素的间距的实现方案

给header设置overflow:hidden;是为了解决子元素的margin问题,我在一个问题中看到老师说解决这个问题的方法有

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

我的疑问是:

1、使用第三种方式,声明浮动的话还需要给父元素设置清除浮动吧?如果是给父元素声明浮动的话,是不是还要再父元素的外面再嵌套一层祖先元素去清除父元素的浮动?

2、第四种方式为什么设置1px的边框就可以解决子元素的margin问题了呢?

3、第五种方式,为父元素声明绝对定位,是不是也要在它外面嵌套一个祖先元素,并且给祖先元素声明相对定位?然后还有什么要注意的问题吗?比如元素的宽高会被影响塌陷什么的?

正在回答

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

2回答

同学你好,关于同学的疑问,解答如下:
1、设置浮动之后,建议给父元素设置清除浮动的样式。

是可以的,如果给父元素设置浮动,然后在父元素外层再嵌套一个元素,清除浮动。

2、可以理解为解析机制就是这样的,设置边框也是可以解决问题哒。

3、如果设置绝对定位的元素要相对与父元素进行定位,那么可以再嵌套一个元素,设置相对定位。

需要注意的问题:还是也要根据实际的情况来定,例如,子元素浮动之后父级高度塌陷,那么要记得清除浮动等。这些知识可以慢慢积累,慢慢总结。

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

  • Aurora_Meteor 提问者 #1
    第三点设置绝对定位后,只需要给父元素也设置一个定位就行了么,没有其他需要注意的是吧?
    2020-04-30 15:07:57
好帮手慕言 2020-04-30 18:47:48

同学你好,目前来看,没有其他需要注意的了。不过还是要结合实际的场景来看,基础知识掌握牢固,遇到问题灵活运用即可。祝学习愉快~

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

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

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

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

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

在线咨询

领取优惠

免费试听

领取大纲

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