2012-12-16 66 views
0

我正在尝试使用:after伪元素方法(如this article末尾所述)将我的introWrap容器垂直居中。我总是应用这种方法没有任何问题,但我不能理解为什么它在这种情况下不起作用(http://jsfiddle.net/4yfru/2/)。垂直居中:在伪元素不工作之后

现在introWrap div位于顶部,而它应该确实位于纵轴的中心位置。我试图用span替换:after伪元素,并且它工作得很好。这里发生了一些鱼腥味,我不知道是什么。

任何一种灵魂都可以帮助我吗?

回答

1

您应用了:after的元素错误。你需要将它应用到“包装”元素,所以like this

#intro:after{ 
    content: ""; 
    display: inline-block; 
    vertical-align: middle; 
    height: 100%; 
} 
+0

你,我的朋友,是上帝。但是,对我来说这仍然没有意义。我一直在包裹的元素上应用'':'',所以我想知道为什么它在这种情况下不起作用。 :/ – AKG

+1

哦不!请不要(即使在开玩笑的时候)把我称为“上帝”,这个标题只属于我的救主耶稣基督。在回答“为什么”时,我只能说“我不知道”(看,我不是上帝)。在你引用的网站上列出的技术清楚地表明,“父母内部有'鬼'元素”,这表明它在孩子内部不起作用。你提到一个跨越替代工作,但我没有看到[对孩子](http://jsfiddle.net/4yfru/6/),只有[在父母](http://jsfiddle.net/4yfru/7 /)。所以,如果它以前为你工作,我不知道为什么。 – ScottS

+0

谢谢男士:)我很抱歉可能会冒犯你:( – AKG