css之幽灵空白节点的起因及解决方案

css之幽灵空白节点的起因及解决方案

代码示例




    
    
    css之幽灵空白节点
    


    

效果示例

可见div有高度,但是样式未设置其高度,span也未设置高度。
css之幽灵空白节点的起因及解决方案_第1张图片

原因

因为它存在每个“行框盒子”前面,同时具有该元素字体和行高属性的0宽度的内联盒。

解决方法

方法3,4来源网络,本人试了无效。

  1. img设置display为block;
  2. 父容器(如示例中的div)font-size设置为0;
  3. img设置vertical-align为其他值——vertical-align:top/middle/bottom;
  4. 父容器(如示例中的div)line-height设置为0。

参考:display属性

描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
list-item 此元素会作为列表显示。
run-in 此元素会根据上下文作为块级元素或内联元素显示。
compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。
table 此元素会作为块级表格来显示(类似 ),表格前后带有换行符。
inline-table 此元素会作为内联表格来显示(类似 ),表格前后没有换行符。)。)。)。)。)。)
table-row-group 此元素会作为一个或多个行的分组来显示(类似
table-header-group 此元素会作为一个或多个行的分组来显示(类似
table-footer-group 此元素会作为一个或多个行的分组来显示(类似
table-row 此元素会作为一个表格行显示(类似
table-column-group 此元素会作为一个或多个列的分组来显示(类似
table-column 此元素会作为一个单元格列显示(类似
table-cell 此元素会作为一个表格单元格显示(类似
table-caption 此元素会作为一个表格标题显示(类似
inherit 规定应该从父元素继承 display 属性的值。

你可能感兴趣的:(学习)