このフィドルをチェックしてください。
これは の基本的な CSS ですtd
:
td {
height: 30px;
border: 1px solid grey;
background-color: rgb(141, 176, 248);
}
30px の画像を含むセルが 1 つあります。それでも、そのセルの幅は 600px です。誰かが理由を理解していますか?
このフィドルをチェックしてください。
これは の基本的な CSS ですtd
:
td {
height: 30px;
border: 1px solid grey;
background-color: rgb(141, 176, 248);
}
30px の画像を含むセルが 1 つあります。それでも、そのセルの幅は 600px です。誰かが理由を理解していますか?
それはコンテンツを持っているtd
こととコンテンツをtd
持っていないことと関係があります。
Whenever your td doesn't have any fixed width
テーブルにはがwidth:100%
あり、ほとんどのtdにはコンテンツがないため、無視できる幅に揃えられます。ただし、tdのいずれかにコンテンツを指定するとすぐに、その列全体がそれに応じて拡張され、テーブルの幅全体に対応します。
それをテストするには、他の単語を書くだけでtd
、列全体が展開されます。
あなたがすべきことは、このデフォルトの拡張を制限するためにあなたのTDに幅を提供することです。
.ui-droppable
{
width:50px;
}
<td>
要素に幅を設定せず、幅を設定していない場合<table>
(つまり、デフォルトで100%)、- <td>
sは自動的に幅全体を埋めます。あなたの場合、それは<td>
拡大するものです。
cssファイルに幅を設定すると、問題が修正されます。
td { width:30px; }
もちろん、テーブルの幅は、すべての列の合計に設定する必要があります。または、テーブルの幅をpx /%で設定し、列の幅を%で設定することもできます。または、javascript / jQueryを使用して、列の幅をその中の画像の幅に適合させることができます。
幅/高さを 30px に設定し、境界線を 1px に設定します。画像の幅も 30px です。残念ながら、境界線の幅は幅に含める必要があります。幅を次のように設定する必要があります30+2*1px
: fiddle