dom的寬高 clientWidth offsetWidth scrollWidth
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* div {
width: 50px;
height: 50px;
background-color: red;
padding: 10px;
border: 2px solid black;
overflow: scroll;
} */
</style>
</head>
<body>
<!-- <div style="height: 3000px;">
123132123
13212313
12313
123131232332
</div> -->
<script>
/*
clientWidth
offsetWidth
scrollWidth
新增到頁面中才可以獲取到的
並且圖片這些載入元素無法獲取 等頁面生成之後才會開始載入 (非同步的原因)
*/
// var div = document.querySelector('div')
// var div = document.createElement("div")
// div.style.width = "50px"
// div.style.height = "50px"
// div.style.backgroundColor = "red"
// var img = document.createElement("img");
// img.src = "../img/a.png"//非同步
// document.body.appendChild(img);
// console.log( img.clientHeight )// 無法獲取 非同步原因
// console.log( div.clientHeight )// 無法獲取
// document.body.appendChild(div);
// console.log( div.clientHeight )// 放入document中 就可以獲取了
// console.log('aaa') //先列印aaa 後面載入圖片 這就是非同步
// 同步 上一步執行完成在執行下一步 就是同步
// console.log(getComputedStyle(div).width) //獲取計算後的樣式 樣式的值 50px 連padding都沒有的
// console.log(div.clientWidth) //數值 width + padding - 17px(滾動條的寬度) 肉眼可見的
// console.log(div.offsetWidth) //數值 width + padding + border 實際div的佔位寬高 實際佔位
// console.log(div.scrollWidth) //數值 實際內容寬度+padding
// scrollTop 距離容器的高度
// 旁邊滾動條的 高度 是由比例的 可以計算
// 元素以外的寬高 頁面寬高
// console.log( document.body.clientHeight )
// 獲取的是body的寬高
// console.log( document.body.clientWidth,document.body.clientHeight)//body
// 獲取的是頁面的可視寬高 不會內容的撐大而變化
// console.log( document.documentElement.clientWidth,document.documentElement.clientHeight )// html
// offsetWidth 一樣 offsetWidth
// console.log( document.body.clientHeight,document.body.offsetHeight,document.body.scrollHeight )
// 可視寬度(clientWidth) 內容寬度(offsetWidth)
// 1.內容高度 body的 clientWidth offsetWidth; document.body.clientWidth document.body.clientHeight
// 2.可視寬高 看html document.documentElement.clientWidth document.documentElement.clientHeight
// 3.有滾動條時 內容寬高 document.body.scrollHeight document.body.scrollWidth;
console.log( document.body.clientWidth , document.body.clientHeight )
console.log( document.documentElement.clientWidth , document.documentElement.clientHeight )
console.log( document.body.scrollWidth , document.body.scrollHeight )
</script>
</body>
</html>
相關文章
- JavaScript屬性中的offsetLeft、offsetWidth、clientWidth、scrollLeft、scrollWidth、innerWidJavaScriptclient
- js元素尺寸和位置,包含clientWidth、offsetWidth、scrollWidth等JSclient
- 元素的尺寸 offsetWidth和clientWidth的區別client
- 蒙了嗎?offsetLeft、offsetWidth、scrollTop、scrollWidth、event.pageX
- JavaScript scrollWidthJavaScript
- JavaScript clientWidthJavaScriptclient
- JavaScript offsetWidthJavaScript
- JavaScript DOM元素長寬等比例縮放JavaScript
- 那些虐死我的寬高
- js中的各種寬高JS
- JS 相關寬高理解JS
- 最全的獲取元素寬高及位置的方法
- 可視區、標籤寬高的獲取
- CSS之寬高比例佈局CSS
- 圖片實現寬高比
- flutter設定寬高不生效Flutter
- DOM操作成本到底高在哪兒?
- offsetwidth與style.width 區別
- 我的前端元件 —- 16:9固定寬高比例的div前端元件
- 我遇見的哪些 CSS 中有趣的尺寸、寬高CSS
- Flutter 中獲取螢幕以及 Widget 的寬高Flutter
- JS獲取元素寬高的兩種情況JS
- elementUI upload 對圖片的寬高做校驗UI
- [譯]React高階話題之Refs and the DOMReact
- QTableWidget行高列寬自適應QT
- js/jq 獲取網頁寬高JS網頁
- CSS行內元素設定寬高CSS
- 圖片寬高自動適配
- Python 調整Excel行高、列寬PythonExcel
- Dreamweaver使用img標籤定義影像高寬的教程
- View.post為什麼可以拿到View的寬高?View
- 《JavaScript高階程式設計》筆記:DOM(十)JavaScript程式設計筆記
- 2020/6/11 JavaScript高階程式設計 DOMJavaScript程式設計
- iOS開發-Masonry約束寬高比iOS
- Qt QTableView自動調整列寬行高QTView
- 實現固定寬高比盒子的幾種方案的總結
- JavaScript獲取瀏覽器、元素、螢幕的寬高尺寸JavaScript瀏覽器
- app直播原始碼,Vue獲取URL圖片的寬高APP原始碼Vue