我在互联网上发现了一个CSS技巧,并垂直对齐一个元素(链接:http://www.vdotmedia.com/blog/vertically-center-content-with-css/,不完全一样,但是相同的想法。)。JQuery垂直对齐功能
我决定把它变成一个jQuery功能:
$.fn.centreVertical = function()
{
$(this).wrap( //centered element
$("<div/>").css({'position':'relative','top':'-50%'}).wrap( //child
$("<div/>").css({'position':'absolute','top':'50%','display':'table-cell','vertical-align':'middle'}).wrap( //parent
$("<div/>").css({'margin':'auto','display':'table','height':'100%','position':'relative','overflow':'hidden'}) //grandparent
)
)
);
};
我的问题是,它仅包装元素(又名“这个”)在第一个div中,包装的其余部分似乎并没有生效,我检查了HTML,我只看到第一个div和元素。
任何人都知道这是为什么?也许有更好的方法来做到这一点?
你想解决什么样的大问题?如果只是垂直对齐元素,则几乎肯定不需要任何JavaScript,因为这可以严格使用CSS来完成。 –
是你想在每个包装后包装这个父母,也许? – kinakuta
不可读的意大利面代码T_T。 – JMelnik