JavaScript clientWidth

admin發表於2018-09-02

此屬性可以返回指定元素客戶區寬度,單位預設是畫素。

客戶區寬度 = width屬性值 + padding-left+ padding-right。

clientWidth是隻讀屬性,不能進行賦值操作。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
dom.clientWidth

圖示如下:

a:3:{s:3:\"pic\";s:43:\"portal/201809/02/010140ffnnwdn6usfuxbpb.jpg\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

clientWidth返回的就是圖中白色區域的寬度。

瀏覽器支援:

(1).IE瀏覽器支援此屬性。

(2).edge瀏覽器支援此屬性。

(3).谷歌瀏覽器支援此屬性。

(4).火狐瀏覽器支援此屬性。

(5).opera瀏覽器支援此屬性。

(6).safria瀏覽器支援此屬性。

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
#ant{
  width:200px;
  line-height:100px;
  background:red;
  border:10px solid green;
  padding:20px;
  text-align:center;
  font-size:12px;
}
</style>
<script type="text/javascript">
window.onload=function(){
  odiv=document.getElementById("ant");
  odiv.innerHTML=odiv.clientWidth;
}
</script>
</head>
<body>
<div id="ant"></div>
</body>
</html>

上述程式碼可以計算出clientWidth屬性值為240,並將其寫入div中。240=200+20+20。

特別說明:此屬性返回的是一個數字240,不帶單位,但預設單位是畫素。

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<style type="text/css">
#ant{
  width:200px;
  height:100px;
  background:red;
  border:10px solid green;
  padding:20px;
  text-align:center;
  overflow:auto
}
#inner {
  height:250px;
  width:30px;
  background-color:#ccc;
}
</style>
<script type="text/javascript">
window.onload=function(){
  var odiv = document.getElementById("ant");
  var ospan = document.getElementById("show");
  ospan.innerHTML = odiv.clientWidth;
}
</script>
</head>
<body>
<div id="ant">
  <div id="inner"></div>
</div>
<span id="show"></span>
</body>
</html>

實際應用中,可能元素的子元素較寬高,可能會出現垂直滾動條。

此滾動條在水平方位上必然有一個厚度,當前谷歌瀏覽器中值為17px,其他瀏覽器不得而知,感興趣的朋友可以自行測試。這個厚度不包括在clientWidth之中。

上面clientWidth的計算方式:

width屬性值 + padding-left + padding-right - 滾動條厚度 = 200 + 20 + 20 - 17 = 223。

相關文章