jQueryを使用してボックスを上下左右中央に配置する(奮闘編:解決?)
■ サンプル(解決):jQueryを使用してボックスを上下左右中央に配置する ■

jquery.center.jsを使用して画像を上下左右中央に配置します。
しかし、ボックスの中に入る画像を小さい画像に変えた場合など、(ボックスの幅は固定なので)右と下に隙間が出来、 ずれが生じます。(※jquery.center.jsは正しく動作しています。)
そこで、jQueryで画像の幅のサイズを取得して、ボックスの幅(div id="box")を画像の幅と同じにしてあげるという処理を追加してみました。
しかし、ボックスの中に入る画像を小さい画像に変えた場合など、(ボックスの幅は固定なので)右と下に隙間が出来、 ずれが生じます。(※jquery.center.jsは正しく動作しています。)
そこで、jQueryで画像の幅のサイズを取得して、ボックスの幅(div id="box")を画像の幅と同じにしてあげるという処理を追加してみました。
<script type="text/javascript"> <!-- jQuery.noConflict(); var j$ = jQuery; j$(document).ready(function() { //以下の処理を追加 var imgwidth = j$("#box img").attr("width"); j$("#box").css({ width:(imgwidth) + "px"}); //以下、jquery.center.jsによる処理 j$("#box").center(); }); --> </script>これで、上下左右中央へ配置されます。
※注意 このサンプルは「text-align: center;」の存在をド忘れしていて、paddingで調整しようとしていた例です。
本当に私はアホでした。。。(完)
本編に戻る