實現多行文字對齊的原理

2022-09-05 23:18:25 字數 713 閱讀 2830

之前已經實現過多行文字對齊的方法,實現方法詳見:多行文字對齊的實現方法,多行文字相容ie6的關鍵就是乙個空標籤,

下面我們來看一看不加i標籤之前ie6下顯示的效果:

而chrome下的效果:

加下i標籤後,ie6下的顯示效果:

可見在現代瀏覽器中,對於有沒有i標籤是沒有影響的,為什麼加上這個標籤之後,ie6就可以實現多行文字對齊了呢?

在盒子模型中,父盒子line-height的高度是由子盒子中高度最高的那個盒子決定的,在本例中,我們設定了還有多行文字盒子的line-height值,以保證多行文字之間的間距是正確的,但是這個盒子的高度在ie6不足以撐開整個盒子的高度,所以我們必須引入乙個空元素,來把撐加這個高度,讀到這裡,你可能又有點不太理解了,我們並沒有設定這個空元素的line-height的值啊,為什麼它能夠撐開呢,看一下下面的圖你就明白了,

因為這個空元素的line-height的值繼承自父元素,所以這個空元素的line-height是150,這樣就實現了多行文字的垂直對齊了!

css實現一行文字居中,多行文字左對齊

問題及場景 當內容能一行顯示在盒子內時,文字居中對齊。當內容過多換行後顯示在盒子內時,文字左對齊。其實這種視覺上的需求還是蠻常見的。比如用於彈出提示框,當提示內容比較少時,內容居中顯示在彈出框,提示內容比較多時,內容居左對齊。但是其純css實現有點麻煩,一般就放掉這個需求,或者,使用js實現。解決方...

css實現一行文字居中,多行文字左對齊

問題及場景 當內容能一行顯示在盒子內時,文字居中對齊。當內容過多換行後顯示在盒子內時,文字左對齊。其實這種視覺上的需求還是蠻常見的。比如用於彈出提示框,當提示內容比較少時,內容居中顯示在彈出框,提示內容比較多時,內容居左對齊。但是其純css實現有點麻煩,一般就放掉這個需求,或者,使用js實現。解決方...

一行文字居中多行文字左對齊

lang en charset utf 8 titletitle head 當文字為一行是,則p的寬度小於div的寬度,p標籤居中顯示在盒子內,文字也就居中了 當大於一行時,p的寬度和div的寬度是一致的 文字就居左對齊了 rk box display inline block使p的寬度根據文字的寬...