Mis*_*hko 6 html javascript css jquery
为什么在以下代码中 .height()返回95而不是100,而.width()按预期返回200?我使用Firefox 3.6.3.
HTML:
<table><tr>
<td id="my"></td>
</tr></table>
<div id="log"></div>
Run Code Online (Sandbox Code Playgroud)
CSS:
#my {
border: 5px solid red;
}
Run Code Online (Sandbox Code Playgroud)
JS:
$("#my").width(200).height(100);
$("#log").append("Width = " + $("#my").width() + "<br />");
$("#log").append("Height = " + $("#my").height());
Run Code Online (Sandbox Code Playgroud)
我尝试了.outerWidth()和.outerHeight()以及.innerWidth()和.innerHeight(),但它们都没有返回预期的结果:代码示例
但是,如果我设置position: absolute它看起来好多了!
谁能解释这种行为?
有一些jQuery方法可用于计算高度和宽度.尝试使用outerHeight()
摘自jQuery Docs:http://api.jquery.com/outerHeight/
.outerHeight( [ includeMargin ] )includeMargin - 一个布尔值,指示是否在计算中包含元素的边距.
http://api.jquery.com/innerHeight/
.innerHeight()此方法返回元素的高度,包括顶部和底部填充,以像素为单位.
编辑:调整td元素上的设置高度()以包括默认填充(1px).计算出的尺寸实际上是......
alt text http://files.wordofjohn.com/with_border.png
您应该将默认填充设置为0px以避免这些问题.
table td {
padding: 0;
}
Run Code Online (Sandbox Code Playgroud)
编辑2:它似乎是一个浏览器问题(可能与渲染引擎计算表的维度的方法有关).这种行为的影响因浏览者而异.你应该找到一个使用div的替代无表格解决方案.
| 归档时间: |
|
| 查看次数: |
4603 次 |
| 最近记录: |