負外邊距margin對寬度的影響

antzone發表於2017-03-31

關於負外邊距的更多用法可以參閱css負margin外邊距功能簡單介紹一章節。

本章節只介紹一下負外邊距margin對於元素寬度的影響。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<title>無標題文件</title>
<style type="text/css">
body{text-align:center;}
#box{
  width:300px;
  height:100px;
  background:#ccc;
  margin:0px auto;
}
#inner{
  height:50px;
  background:red;
}
</style>
<script>
window.onload=function(){
  var obt=document.getElementById("bt");
  var odiv=document.getElementById("inner");
  obt.onclick=function(){
    odiv.style.marginRight="-50px";
  }
}
</script>
</head>
<body>
<div id="box">
  <div id="inner"></div>
</div>
<input type="button" id="bt" value="檢視效果"/>
</body>
</html>

看到沒有,當動態設定元素的負外邊距以後,元素的尺寸變長了,這是因為元素的邊界是由外邊距確定的,同時沒有規定元素的寬度。

特別說明:元素必須沒有顯式規定寬度才有上面的效果。

它的一個實際應用可以參閱css實現塊等寬平均分佈效果程式碼示例一章節。

相關文章