DIV水平と垂直中央揃え
--ブログのバックアップ
昨日試験を終えて、今日はつまらないです。そこで、JavaScriptを見て、DIVのレベルと垂直方向を全部中央に置くJSを書きました。Chrome 4.0.x、Firefox 3.6、IE 8は正常です。
昨日試験を終えて、今日はつまらないです。そこで、JavaScriptを見て、DIVのレベルと垂直方向を全部中央に置くJSを書きました。Chrome 4.0.x、Firefox 3.6、IE 8は正常です。
// div , div id
function autoMargin(id) {
var marginWid;// margin
var marginHei;
var divWid;// DIV
var divHei;
var mainEle = document.getElementById(id);// div
//Trident
if (new RegExp("trident", "i").test(navigator.userAgent)) {
//
marginWid = document.documentElement.clientWidth;
marginHei = document.documentElement.clientHeight;
//document.write("trident" + width + "*" + height);
//
divWid = mainEle.currentStyle.width.replace(/px/, "");
divHei = mainEle.currentStyle.height.replace(/px/, "");
//alert(divWid + "
" + divHei);
//Webkit Gecko
} else if (new RegExp("webkit", "i").test(navigator.userAgent)
|| new RegExp("gecko", "i").test(navigator.userAgent)) {
//
marginWid = window.innerWidth;
marginHei = window.innerHeight;
//document.write("webkit" + width + "*" + height);
//
var style = window.getComputedStyle(mainEle, null);
divWid = style.getPropertyValue("width").replace(/px/, "");
divHei = style.getPropertyValue("height").replace(/px/, "");
//alert(divWid + "
" + divHei);
}
// margin
marginWid = marginWid / 2 - divWid / 2;
marginHei = marginHei /2 - divHei / 2;
mainEle.style.marginTop = marginHei + "px";
mainEle.style.marginLeft = marginWid + "px";
}