為什么加了給 a標(biāo)簽加了左右的padding之后為什么寬度會(huì)不斷的增加
求解釋為什么加了給 a標(biāo)簽加了左右的padding之后為什么寬度會(huì)不斷的增加
<html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>導(dǎo)航菜單</title> <style?type="text/css"> *{margin:0;?padding:0;?font-size:14px;} a{color:#333;text-decoration:none?;padding:5px;}???//注意這里的padding .nav{list-style:none;?height:30px;?border-bottom:10px?solid?#F60;?margin-top:20px;?padding-left:50px;} .nav?li{float:left} .nav?li?a{display:block;?height:30px;text-align:center;?line-height:30px;?width:80px;?background:#efefef;?margin-left:1px;} .nav?li?a.on,?.nav?li?a:hover{background:#F60;color:#fff;?} </style> <script> window.onload=function(){ var?oNav=document.getElementsByTagName('ul')[0]; var?aA=oNav.getElementsByTagName('a'); for(var?i=0;?i<aA.length;?i++){ aA[i].onmouseover=function(){ if(this.className!="on"){ clearInterval(this.time); var?This=this; This.time=setInterval(function(){ This.style.width=This.offsetWidth+8+"px"; if(This.offsetWidth>=120) clearInterval(This.time); },30) } } aA[i].onmouseout=function(){ if(this.className!="on"){ clearInterval(this.time); var?This=this; this.time=setInterval(function(){ This.style.width=This.offsetWidth-8+"px"; if(This.offsetWidth<=80){ This.style.width='80px'; clearInterval(This.time); } },30) } } } } </script> </head> <body> <ul?class="nav"> ????<li><a?class="on"?href="#">首 頁(yè)</a></li> ????<li><a?href="#">關(guān)于我們</a></li> ????<li><a?href="#">產(chǎn)品展示</a></li> ????<li><a?href="#">售后服務(wù)</a></li> ????<li><a?href="#">聯(lián)系我們</a></li> ??</ul> </body> </html>
2016-10-12
在padding上再加個(gè)box-sizing: border-box;就不會(huì)出現(xiàn)這樣情況
默認(rèn)情況下width不包括padding的值,而offsetwidth=width+padding+border
可能是這個(gè)原因?qū)е碌囊恍゜ug或不可描述的情況