如何更好的解决子标签margin的越界和浮动造成的影响的问题


解决margin越界的常用的三种方法:

1.加border   可以解决 可以我并不需要这个border.

2.使用paddiing 如果盒模型是内容盒子的话  增大了整个盒模型,如果为border盒子类型,可以解决但是并不理想。

3.使用 overflow:hidden ,可是一般情况下都是子标签内容如果超出是显示的。不符合预想。

解决思路:主要是在父标签中添加第一个子标签,然后后面的子标签设置margin的时候就不会与父标签的margin重合。应为他的margin是找到第一个子元素为基准的。

关键代码:

使用伪类元素 : 父元素:before{

content:' ';

display:table;

}

table的显示模式我就不在这里说明。目前感觉这种方式的代价是最小的,基本没有其它的影响。

同理margin-bottom也是这样解决的。是给父元素添加最后一个子元素。就可以解决子元素的越界问题。

解决上边界子元素margin越界的效果如图:

更好的解决子元素浮动对后续元素和父元素造成的影响


1.之前一直用overflow:hidden 来解决子元素浮动,造成父元素的塌陷问题。一直感觉这个解决方法不是很合理。然后前面元素如果浮动,在后面元素加上clear:both。来解决元素浮动对后续元素造成的影响。之后后来参考大神给的解决方法,逻辑和解决方式都是非常合理的。主要是关键代码很少。主要就是给父元素添加后置的内容生成。

关键代码:父元素:after{

content:' ';

display:table;

clear:both

}


感谢大神给出的思路。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,687评论 1 92
  • 建议在PC端阅读本文面向对象:对标题中的概念基本不了解或仅仅听说过名字的人。如果已有一定了解请直接拉到最下看推荐阅...
    粉肠w阅读 3,682评论 0 0
  • 1.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 概念:在CSS当...
    饥人谷_任磊阅读 4,032评论 0 3
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 4,997评论 0 1
  • 1.浮动元素有什么特征?对父容器、其他浮动元素、普通元素、文字分别有什么影响? 何谓浮动元素?有什么特征?所谓浮动...
    草鞋弟阅读 4,229评论 0 1