html彈性布局設置居中CSS中需要考慮它的屬性,設置居中的屬性有兩個:align:center;vertical-align:middle,分別代表水平居中和垂直居中,然而這兩個屬性并不適用所有場景。
align:center適用于標簽內的文本內容,如果父元素中包含其他類似于div這種劃分區域的標簽,那么對于非IE元素就不起作用了,需要用到margin-left:auto;margin-right:auto屬性來配合處理兼容。而vartical-align:middle卻僅針對內鏈元素有用,對于塊狀元素,就沒有辦法了。
要實現真正地居中,往往要解決高度自適應的問題,高度自適應是比較常見的問題,尤其是兩列結構。然而就算是兩列結構,也存在:兩列都固定;或者一列高度固定,另一列不固定;或者兩列高度都不固定的情況。同理三列結構更是如此。那么如何保證不定高度那列因為內容增加高度變化時,其他列能隨之改變呢(需要強調:這里說的改變是視覺上的高度的變化-如背景色,而實際高度并不一定變化)?
這個時候不管是哪一部分內容增加,這三列在視覺上都會隨之增高。這是一個比較典型的例子。從根源上,不管其中任何一個區域內容增加都會促使父元素.main的高度增加,由于父元素內容和邊框使用三種不同的底色,所以看上去就是高度自適應。
再換一種思路,假設2列高度(未知)自適應(這兩列分別用A,B表示,而P是他們的父元素),當A或者B高度變化時,會促使父元素P的高度變化,如果P和A都是一樣的背景色,那么當B變化時,由于P的高度變化,A自然看起來是高度自適應了。然而當A變化時,雖然P高度也隨之變化了,但是由于P與A的背景色一致,因此B卻沒有任何變化。這樣一來,html就能夠成功地實現居中了。