国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

DOM之度量計算_html/css

來源:懂視網 責編:小采 時間:2020-11-27 16:39:07
文檔

DOM之度量計算_html/css

DOM之度量計算_html/css_WEB-ITnose:javascript是可以控制標簽元素的位置的. 例如一個提示消息, 跟著鼠標的位置移動. 這章節,我們來看看如何獲得和計算元素的坐標和他們的位置. 前提: CSS盒子模型 下面畫出了CSS盒子模型: 詳細的可以查看CSS盒子模型說明.https://www.w3.org
推薦度:
導讀DOM之度量計算_html/css_WEB-ITnose:javascript是可以控制標簽元素的位置的. 例如一個提示消息, 跟著鼠標的位置移動. 這章節,我們來看看如何獲得和計算元素的坐標和他們的位置. 前提: CSS盒子模型 下面畫出了CSS盒子模型: 詳細的可以查看CSS盒子模型說明.https://www.w3.org

javascript是可以控制標簽元素的位置的. 例如一個提示消息, 跟著鼠標的位置移動.

這章節,我們來看看如何獲得和計算元素的坐標和他們的位置.

前提: CSS盒子模型

下面畫出了CSS盒子模型:

詳細的可以查看CSS盒子模型說明.https://www.w3.org/TR/CSS22/學習盒子模型的組成是其他知識點的基礎.

文檔實例

我們使用下面的box做演示:

 ## Introduction The contents. 

box是絕對定位的, 有邊框, 內邊界, 外邊界和 滾動條:

#example { position: absolute; width: 300px; height: 200px; left: 160px; top: 160px; padding: 20px; margin: 20px; overflow: auto; border: 25px solid #F0E68C;}

CSS圖片:

Box metrics

  • CSS width/height

  • 內容區域的大小在padding以內. CSS屬性的設置使用element.style, 獲取用getComputedStyle()/currentStyle. 更詳細的內容, 關注我們后面的文章.

  • 接下來我們學習關于width和height的另外的屬性.

    所有Javascript度量都是像素, 且在屬性值結尾不需要 'px'.

  • clientWidth/Height

  • client區域大小: 包含padding的內容區域大小, 但是不包括滾動條.

    大小計算如下:

    clientWidth = 300(width) + 40(paddings) - 16(scrollbar) = 324

    clientHeight = 200(height) + 40(paddings) = 240

    如果沒有padding, box可以滾動, clientWidth/Height則顯示的是內容的區域大小:

    在上面的圖片中, CSS width包含了滾動條. 所以不能按實際的300像素來計算. clientWidth才是有效的內容區域.

  • scrollWidth/Height

  • 內容區域的寬度和高度,包括滾動部分

  • scrollHeight = 723 :全部高度, 包含滾動的部分

  • scrollWidth = 324 :全部寬度,包含滾動的部分

  • scrollWidth/Height 作為 clientWidth/Height 的話, 使用是一樣的 , 但是他們包含滾動區域.

    下面代碼改變元素的垂直大小, 顯示所有的內容

    element.style.height = element.scrollHeight+ 'px'

  • scrollTop/scrollLeft

  • 滾動出的部分大小:垂直和水平. 值的單位也是像素.

    下面圖說明了一個垂直滾動的盒子的scrollHeight和scrollTop.

    scrollLeft/scrollTop 是可寫的

    不像另外的屬性, 都是可讀的. scrollLeft/scrollTop是可以被改變的.來改變元素的滾動.

    在標準模式中.document的滾動是在document.documentElement下.

  • offsetWidth/Height

  • 外框盒子的 width/height, 包含Border,不包含margin.

    這是外框盒子的樣子.

  • offsetWidth = 390 : 外框盒子寬度

  • offsetHeight = 290 : 外框盒子高度

  • clientTop/Left

  • 盒子外框的client區域的縮進.

    換句話說,就是top/left的大小, 單位像素.

    兩種特殊的情況:

  • clientLeft = 25 : left大小

  • clientTop = 25 : top大小

    1. 從右往左的文檔(阿拉伯語,猶太人), clientLeft屬性也包含右邊的滾動大小

    2. IE<8和IE8兼容模式 : document.documentElement (或者 document.body 在異常模式下) 從文檔的左上角會有一點點改變.沒有邊框, 但是 document.body.clientLeft/clientTop 在這種情況下不等于0 (通常是2).

  • offsetParent , offsetLeft/Top

  • 屬性offsetLeft和offsetTop反映了一個元素相對于他的offsetParent的相對移動. offsetParent是在布局中的父元素. 比如, 如果一個元素是絕對定位, offsetParent不是他的DOM父元素. 而是一個離他最近的定位的元素(或者body).

    offsetParent規則 :

  • 靜態定位: 最近的表格單元格或者BODY(標準模式下)

  • 定位的其他模式: 最近的定位元素

  • 看不見的元素

    JavaScript的坐標和尺寸設置僅為連接和顯示元素

    他們值等于0的元素, display:none或者DOM以外的. offsetParent是為null的.

    如果一個元素隱藏, 我們可以使用下面的做檢查:

    function isHidden(elem)

    return !elem.offsetWidth && !elem.offsetHeight

    }

  • 如果父元素是display:none, 執行正常.

  • 除了TR元素執行正常, 在某些瀏覽器重,TR會有BUG. 但是我們通常是檢查另外的元素, 所以使用正常

  • 如果元素是visibility:hidden或者定位off-screen, 這樣檢查就失效了. 空元素同樣也被隱藏.

  • 總結:

    屬性說明:

  • clientWidth/clientHeight - 在border里的區域, client區域包含padding,但不包含滾動區域.

  • clientLeft/clientTop - left/top大小或者說, 盒子左上角的client區域的移動. IE在也是一樣, 因為document.body可能被移動.

  • scrollWidth/scrollHeight - 包含滾動的內容區域, 但不包含滾動條本身自己的大小

  • scrollLeft/scrollTop - 滾動條的移動部分, 從左上角開始.

  • offsetWidth/offsetHeight -包含margin的盒子大小

  • offsetParent - 靜態的定位相對于最近的單元格, body.或者最近的定位元素.

  • offsetLeft/offsetTop - 盒子的左上角的位置相對于offsetParent.

  • 下面概要了所有屬性的含義:

    本文屬于吳統威的博客, 微信公眾號:bianchengderen,QQ群:186659233 的原創文章,轉載時請注明出處及相應鏈接:http://www.wutongwei.com/front/infor_showone.tweb?id=232 ,歡迎大家傳播與分享.

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    DOM之度量計算_html/css

    DOM之度量計算_html/css_WEB-ITnose:javascript是可以控制標簽元素的位置的. 例如一個提示消息, 跟著鼠標的位置移動. 這章節,我們來看看如何獲得和計算元素的坐標和他們的位置. 前提: CSS盒子模型 下面畫出了CSS盒子模型: 詳細的可以查看CSS盒子模型說明.https://www.w3.org
    推薦度:
    標簽: 計算 html css
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 日本亲与子乱ay中文 | 国产区精品在线 | 国产一区二区三区视频在线观看 | 激性欧美激情在线aa | 天天搞夜夜 | 中文字幕有码在线观看 | 黄色a级毛片 | 欧美视频在线观看免费 | 五月激情综合 | 国内精品在线视频 | 久久er99热精品一区二区 | 日韩 国产 在线 | 特黄日韩免费一区二区三区 | 在线观看精品国产 | 国产精品电影一区二区 | 日韩 欧美 中文 | 日韩欧美三区 | 亚洲欧美日韩高清综合678 | 国产精选免费视频 | 五月婷综合 | 国产一二三区视频 | 中文字幕第一页亚洲 | 国产视频中文字幕 | 亚洲午夜久久久久中文字幕 | 日韩午夜在线观看 | 免费中文字幕 | 亚洲欧洲日韩 | 欧美一区二区三区在线播放 | 国产欧美另类第一页 | 国产精品…在线观看 | 一97日本道伊人久久综合影院 | 国产va免费精品观看 | 国产成人精品999在线观看 | 欧美日韩国产精品va | 国产亚洲一区二区三区 | 香蕉久久夜色精品国产小说 | 亚洲一级二级 | 国产美女一级特黄毛片 | 另类欧美日韩 | 欧美日韩一二区 | 欧美日本一区二区三区 |