块级元素上下、左右间隙

Posted by CodingWithAlice on August 17, 2019

块级元素垂直边框折叠、左右间隙

1⃣️ 垂直边框折叠

问题:有关块级元素包裹块级元素,在底或顶会出现折叠

解决方案:

1.给子盒子或父盒子添加浮动(可能导致父元素塌陷的问题,注意父级元素清除浮动)

2.给父盒子添加padding/border 

3.给子盒子或父盒子定位(使用定位时脱离文档流,注意父元素塌陷,定位完全脱离父元素,清除浮动没用) 

4.给父盒子添加overflow:hidden;【推荐】

2⃣️ 下方出现的间隙

在(div包裹div,div包裹img)都是块级包块级常见的情况,内联元素的默认垂直对齐方式是和基线对齐vertical-align:baseline),并不是和底部对齐,以及父级元素默认的行高问题。

解决方案:

​ 1.修改 父级行高line-height:0

​ 2.修改 父级元素字体大小font-size:0; 

​ 3.修改内联元素 对齐方式vertical-align:根据需求可以改为middle、top、bottom、text-bottom等值(这种方式解决空隙问题比较好);

3⃣️ 左右间隙

有关多张图片连着排列的(左右)间隙问题:(原因:浏览器把两个img标签之间的空格当成了空白节点

解决方案:

  • 1.多个img标签 写在一行

  • 2.在img标签的 父级 上写:font-size:0;

  • 3.给 每一项 添加:display:block

  • 4.使用 letter-spacing属性,设置字符间距,在父级上面设置 style="letter-spacing:-800px"

    (letter-spacing的值无论是负多少都不会产生重叠)