DIV水平と垂直中央揃え

1684 ワード

--ブログのバックアップ
 
昨日試験を終えて、今日はつまらないです。そこで、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"; }