是的,是的,我知道这是关于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