2016-08-28 2 views
2

私は、.clicked<td>に追加するために、.click JQueryメソッドを使用しています。 .clickedには境界線があり、box-sizingプロパティはborder-boxに設定されています。​​のサイズが、ボックスサイズ設定プロパティを使用して枠内に追加されたときに変化するのはなぜですか?

<td>を2つ連続してクリックすると、そのサイズが変更されるように見えます。それはなぜそうですか?

は、ここに私のコードです:

<!-- 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"); 
    }); 
}); 

ヘルプは高く評価されなければなりません。

答えて

1

box-sizing: border-boxによってカウントされていないパディング(物事をめちゃくちゃにされています。あなたはこれを0に設定した場合、あなたのtd年代は1pxpaddingを持って、その後奇妙な行動が消える。

https://jsfiddle.net/x11us50v/