關(guān)于js dom中寬高問題的記錄

一、clientHeight與offsetHeight的區(qū)別:

  • element.clientHeight : 在頁面上返回內(nèi)容的可視高度(不包括邊框慧邮,邊距或滾動條)
  • element.offsetHeight:返回,任何一個元素的高度包括邊框和填充及滾動條
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style type="text/css">
        #div1{
            padding:10px;
            height:100px;
            border:2px solid black;
            background-color: red;
            box-sizing: border-box;
            /*box-sizing:content-box*/
        }
    </style>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
     <div id="div1">
        
        
     </div>
     <script type="text/javascript">
     var dom=document.getElementById("div1");
     console.log("clientHeight",dom.clientHeight);
     console.log("offsetHeight",dom.offsetHeight);

     </script>
</body>
</html>

上面例子的輸出結(jié)果為: clientHeight 96 非驮, offsetHeight 100 疏咐。

我們在css上做一些小修改,將box-sizing改為content-box旬陡。此時結(jié)果會發(fā)生變化,變化的根本原因在于css盒子模型语婴。當(dāng)box-sizing為content-box時描孟,即w3c標準,元素的內(nèi)容區(qū)域不包含padding值砰左。所以 此時css中定義的height+padding值會等于 clientHeight(120)匿醒,height+padding+border等于offsetHeight(124) 。

二缠导、clientHeight和scrollHeight的區(qū)別

值得注意的是scrollHeight 沒有包含滾動工具條的高度廉羔,但scrollHeight是計算整個div中內(nèi)容的高度(即滾動條拖動后顯示的內(nèi)容),而clientHeight只是記錄可視高度僻造。

下面是demo,可copy運行

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style type="text/css">
        #div1{
            padding:10px;
            height:100px;
            border:2px solid black;
            background-color: red;
            /*  box-sizing:content-box;*/
            box-sizing: border-box;
            overflow: scroll;
        }
    </style>
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
</head>
<body>
     <div id="div1">
        <p>1111</p>
     </div>
     <script type="text/javascript">
     var dom=document.getElementById("div1");
     console.log("clientHeight",dom.clientHeight);
     console.log("offsetHeight",dom.offsetHeight);
     console.log("offsetLeft",dom.offsetLeft);
     console.log("offsetParent",dom.offsetParent);
      console.log("offsetTop",dom.offsetTop);
      console.log("scrollHeight",dom.scrollHeight);
      console.log("scrollLeft",dom.scrollLeft);
      console.log("scrollTop",dom.scrollTop);
      console.log("scrollWidth",dom.scrollWidth);
    
     </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末憋他,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子髓削,更是在濱河造成了極大的恐慌举瑰,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蔬螟,死亡現(xiàn)場離奇詭異此迅,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進店門耸序,熙熙樓的掌柜王于貴愁眉苦臉地迎上來忍些,“玉大人,你說我怎么就攤上這事坎怪“瞻樱” “怎么了?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵搅窿,是天一觀的道長嘁酿。 經(jīng)常有香客問我,道長男应,這世上最難降的妖魔是什么闹司? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮沐飘,結(jié)果婚禮上游桩,老公的妹妹穿的比我還像新娘。我一直安慰自己耐朴,他們只是感情好借卧,可當(dāng)我...
    茶點故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著筛峭,像睡著了一般铐刘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上影晓,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天滨达,我揣著相機與錄音,去河邊找鬼俯艰。 笑死,一個胖子當(dāng)著我的面吹牛锌订,可吹牛的內(nèi)容都是我干的竹握。 我是一名探鬼主播,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼辆飘,長吁一口氣:“原來是場噩夢啊……” “哼啦辐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蜈项,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤芹关,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后紧卒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體侥衬,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了轴总。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片直颅。...
    茶點故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖怀樟,靈堂內(nèi)的尸體忽然破棺而出功偿,到底是詐尸還是另有隱情,我是刑警寧澤往堡,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布械荷,位于F島的核電站,受9級特大地震影響虑灰,放射性物質(zhì)發(fā)生泄漏吨瞎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一瘩缆、第九天 我趴在偏房一處隱蔽的房頂上張望关拒。 院中可真熱鬧,春花似錦庸娱、人聲如沸着绊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽归露。三九已至,卻和暖如春斤儿,著一層夾襖步出監(jiān)牢的瞬間剧包,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工往果, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留疆液,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓陕贮,卻偏偏與公主長得像堕油,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子肮之,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容