|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
的時(shí)候,top的百分比將會(huì)失效,而刪除這句話的時(shí)候,一切正常,都是不知道這句標(biāo)準(zhǔn)的聲明為什么會(huì)帶來如此的不便
針對(duì)這個(gè)問題,我使用的下面的方法來實(shí)現(xiàn)div的自適應(yīng)
首先 我用的是絕對(duì)定位的方式,先設(shè)置好div的左右上下邊距。在body中添加兩個(gè)事件,
<body bgcolor="#666666" onresize="test()" onload="getwah()">
getwah()用來獲取屏幕的大小和div的各個(gè)邊距,并計(jì)算出它們的差
復(fù)制代碼 代碼如下:
var height,width,width_cha1,width_cha2;
function getwah()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
width=parseInt(d_width);
width_cha1=width-parseInt(document.getElementById("backi").style.left)
width_cha2=width-parseInt(document.getElementById("massage_box").style.left)
}
當(dāng)屏幕大小變化的時(shí)候(onresize)觸發(fā)test()函數(shù),該函數(shù)就是用戶根據(jù)之前獲得屏幕與邊距的差值重新設(shè)置div的邊距,這樣就可以實(shí)現(xiàn)黨屏幕的大小改變后,div的邊距也會(huì)相應(yīng)地改變,從而實(shí)現(xiàn)div可以隨著屏幕大小的改變而自適應(yīng)
復(fù)制代碼 代碼如下:
function test()
{
if(document.documentElement && document.documentElement.clientWidth)
{d_width = document.documentElement.clientWidth;}
else if(document.body)
{d_width = document.body.clientWidth;}
var now_left1=parseInt(d_width )-width_cha1;
var now_left2=parseInt(d_width )-width_cha2;
document.getElementById("backi").style.left=now_left1
document.getElementById("massage_box").style.left=now_left2
}
JavaScript技術(shù):利用onresize使得div可以隨著屏幕大小而自適應(yīng)的代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。