let style = window.getComputedStyle(element, [pseudoElt]);
https://www.zhangxinxu.com/wo...
getComputedStyle
是一個能夠獲取當前元素全部最終使用的 CSS
屬性值。返回的是一個 CSS
樣式聲明對象([object CSSStyleDeclaration]
),只讀.wordpress
這個方法取得值是內容 CSS
區域的值,與 padding、margin
和邊框無關。spa
包括元素在屏幕上佔用的全部可見空間,元素的可見大小是由其高度,寬度決定的。包括全部內邊距、滾動條和邊框大小(不包括外邊距)code
元素在垂直方向上的佔用空間大小,以像素計。對象
content-height + (可見的水平滾動條的高度) + padding-top + padding-bottom + border-left-width + border-right-width
blog
元素在水平方向上的佔用空間大小,以像素計。element
content-width + (可見的垂直滾動條的寬度) + padding-right + padding-left + border-top-width + border-bottom-width
rem
元素外邊框至包含元素左外邊框的之間的像素距離文檔
元素外邊框至包含元素上外邊框的之間的像素距離get
要想知道元素在頁面上方的偏移量,將這個元素的offsetLeft
和offsetTop
與其offsetParent
的屬性相加。循環至根元素,就能夠基本獲得一個準確的值。
function getElementLeft(element) { var actualLeft = element.offsetLeft; var current = element.offsetParent; while (current !== null) { actualLeft = actualLeft + current.offetLeft; current = current.offsetParent; } return actualLeft; }
function getElementLeft(element) { var actualTop = element.offsetTop; var current = element.offsetParent; while (current !== null) { actualTop = actualTop + current.offsetTop; current = current.offsetParent; } return actualTop; }
元素的客戶區指的是元素內容及其邊框所佔據的空間大小。元素內部空間大小,滾動條的空間不算在內。
content-width + padding-left + padding-right + boreder-left-width + boreder-right-width
content-height + padding-top + padding-bottom + boreder-top-width + boreder-bottom-width
function getViewPort() { if (document.conpatMode == "BackCompat") { return { width: document.body.clientWidth, height: document.body.clientHeight }; } else { return { width: document.documentElement.clientWidth, height: document.documentElement.clientHeight }; } }
包含滾動內容的元素大小。
在沒有滾動條的狀況下,元素內容的總高度
在沒有滾動條的狀況下,元素內容的總寬度
被隱藏在內容區域左側
的像素數。經過設置這個屬性,能夠改變滾動條的位置
被隱藏在內容區域上方
的像素數。經過設置這個屬性,能夠改變滾動條的位置
肯定文檔的總高度,必須取得 scrollHeight/clientHeight
和 scrollWidth/clientWidth
的最大值
返回元素的大小及其相對於視口的位置。
返回值是一個 DOMRect
對象,這個對象是由該元素的 getClientRects()
方法返回的一組矩形的集合,就是該元素的 CSS
邊框大小
兼容性:
// For scrollX (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.scrollLeft == "number" ? t : document.body ).scrollLeft( // For scrollY ((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.scrollTop == "number" ? t : document.body ).scrollTop;
https://developer.mozilla.org...