关于Div 高度height: auto 时的计算规则。

黄丰
2023-12-01

优先级:

1. height

首先自身的height属性的优先级最高。

2. content

被内容的高度撑高,父元素的最小高度会以该内容的高度为准。

1. 注意当子元素为block,flex,grid,table(块元素)时。
	1. 且指定了height值,父元素的高度以子元素的height值为准。
	2. 若没有指定height值,则以子元素内容高度为准。

2. 当为inline-xxx (行内块元素)类型时。
	1. 先以父元素的行高为最小高度。(此为最小高度!)
	2. 若没指定height,则以 子元素内容高度  +  父元素的一半行距 为准。
	3. 若指定了height,则以 MAX(height,子元素内容高度 + 父元素的一半行距) 为准。
  
 	*: 半行距 = ( 行高 - 字体大小 ) / 2

 3. 行内元素取 父元素行高为最小高度,若子元素内容的高度大,则以较大值作为高度。

3. line-height

次以自身的行高作为最小高度的计算值。

4. Font-size:

类似line-height ,弱于line-height的优先级

总结整体优先级

自身height > 子元素为block且指定了高度 > 子元素为block时内容的高度 > 其他

其他包括子元素为行内,行内块, 自身的line-height ( font-size ) 等。

会以line-height,font-size为最小高度,然后谁大取谁。(最后一部分优先级较为麻烦,不便记忆,以实际效果为准。)

 类似资料: