问题:
在一个单元格td里面插入两个Label,他们的共通属性是display:inline-block。当两个Label都有内容的时候一切正常,但是当其中一个Label内容为空时,垂直方向就不能对其了,表现为,有内容的Label下沉,没有内容的上浮。
解决:
设置Label的vertical-align为bottom、top、middle其中一种。
拓展:
vertical-align属性,设置控件的垂直对齐方式。
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
元素的默认值是baseline,控件的基线和父容器的基线对齐,如果没有基线的情况下,控件的底部与父控件的基线对齐。因为判断一个元素的baseline位置需要根据他的字体信息来判断(一个span中的文字可能因为字符集不同,而使用不同的字体)。因此,一个没有内容的inline-block也就没有了baseline。对齐的时候,就会将它的底边作为baseline在父容器中对齐。而有内容的就会根据字体确认baseline再和父容器对齐。
在一个单元格td里面插入两个Label,他们的共通属性是display:inline-block。当两个Label都有内容的时候一切正常,但是当其中一个Label内容为空时,垂直方向就不能对其了,表现为,有内容的Label下沉,没有内容的上浮。
解决:
设置Label的vertical-align为bottom、top、middle其中一种。
拓展:
vertical-align属性,设置控件的垂直对齐方式。
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。这会使元素降低而不是升高。在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
元素的默认值是baseline,控件的基线和父容器的基线对齐,如果没有基线的情况下,控件的底部与父控件的基线对齐。因为判断一个元素的baseline位置需要根据他的字体信息来判断(一个span中的文字可能因为字符集不同,而使用不同的字体)。因此,一个没有内容的inline-block也就没有了baseline。对齐的时候,就会将它的底边作为baseline在父容器中对齐。而有内容的就会根据字体确认baseline再和父容器对齐。