为什么 <td> 的大小在使用 box-sizing 属性 添加边框时发生变化?
Why is the size of the <td>s changing when border is added inside it using the box-sizing property?
我正在使用 .click
JQuery 方法在单击时将 .clicked
添加到 <td>
。 .clicked
包含边框并且 box-sizing
属性 设置为 border-box
。
当我水平或垂直单击两个连续的 <td>
时,它们的大小似乎发生了变化。为什么会这样?
这是我的代码:
<!-- page.html -->
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
/* stylesheet.css */
td {
height: 100px;
width: 100px;
background-color: red;
}
.clicked {
border: 5px solid green;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
// script.js
$(document).ready(function () {
$("td").click( function() {
$(this).addClass("clicked");
});
});
不胜感激。
填充(不计入 box-sizing: border-box
会把事情搞砸。如果将此设置为 0,则 td
的 padding
为 1px
然后奇怪的行为就消失了。
我正在使用 .click
JQuery 方法在单击时将 .clicked
添加到 <td>
。 .clicked
包含边框并且 box-sizing
属性 设置为 border-box
。
当我水平或垂直单击两个连续的 <td>
时,它们的大小似乎发生了变化。为什么会这样?
这是我的代码:
<!-- page.html -->
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<table>
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
</body>
</html>
/* stylesheet.css */
td {
height: 100px;
width: 100px;
background-color: red;
}
.clicked {
border: 5px solid green;
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
// script.js
$(document).ready(function () {
$("td").click( function() {
$(this).addClass("clicked");
});
});
不胜感激。
填充(不计入 box-sizing: border-box
会把事情搞砸。如果将此设置为 0,则 td
的 padding
为 1px
然后奇怪的行为就消失了。