インターネット上でCSSトリックを見つけ、要素を垂直に整列させました(リンク:http://www.vdotmedia.com/blog/vertically-center-content-with-css/、まったく同じアイデアではありません)。JQueryの垂直整列機能
私はjqueryの関数にそれを置くことにしました:私の問題は、それが最初のdiv内の唯一の要素(別名「これを」)ラップということです
$.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
)
)
);
};
、ラップの残りの部分はいないようです有効にするには、私はHTMLをチェックし、私は最初のdivと要素のみを参照してください。
これがなぜそうであるか知っていますか?おそらくこれを行うより良い方法がありますか?
解決すべき大きな問題は何ですか?要素を垂直に整列させるだけの場合は、CSSを厳密に行うことができるので、JavaScriptはほとんど必要ありません。 –
は、おそらくそれぞれのラップの後にこれの親をラップしたいのですか? – kinakuta
スパゲッティコードT_Tを読み取れません。 – JMelnik