是的,是的,我知道這是關於CSS垂直對齊的另一個問題,並且已經完成了一百萬次。請放心,我已經多次遇到這個問題,並且我已經完成了有關使用CSS垂直居中的各種方法的閱讀。我在這裏問的是因爲這些方法都沒有做我想做的事情,我只是想確保我的懷疑(即CSS垂直對齊被破壞,並且不會做我想做的事)絕對是正確的。與CSS垂直對齊
首先登場的,這是我的測試用例:http://www.game-point.net/misc/testAlign/
這裏的標準:
- 我要對齊的「居中文本」垂直,相對於含「TestTestTest的DIV ... '文本。
- 我不想指定任何高度。
- 我希望'TestTestTest'和'居中文本'DIV根據文本數量和寬度限制動態獲取它們的高度。
- 我不想使用Javascript。
即使在CSS3中,這似乎也是不可能的,更不用說CSS2了。令人討厭的是我幾乎在那裏; position:absolute; top:-50%;
DIV用於將該DIV的頂部設置爲容器DIV的一半。問題在於內部DIV的風格position:relative; top:-50%;
沒有做任何事情來將內容向上移動一半的高度,以完全居中,因爲CSS表示絕對定位的DIV沒有高度,因此top:-50%
是沒有意義的。據我所知,這只是CSS中的一個基本缺陷,沒有特別的理由。一個絕對定位的元素確實有一個高度,我不知道爲什麼CSS假裝它沒有。我只是想問一下,如果有人對我如何能夠達到預期的效果有任何想法,請參閱上文所述的標準。具有諷刺意味的是,IE6/7/8的「破碎」盒子模型在怪癖模式下給了我很大的影響。恥辱,他們正在'修復'它在IE9,所以它不會了。
好了,你可以隨時使用jQuery做的魔力。但據我所知,你的懷疑可能是正確的。 – 2011-01-20 11:27:31
認爲你現在可以用flexbox做到這一點http://css-tricks.com/snippets/css/a-guide-to-flexbox/ – Ruskin 2015-01-12 14:21:09