2016-12-13 5 views
0

CSSで選択幅を初期化しました。オプションを追加すると幅が変更されます。幅の変化を避けるには?テーブルの内側に追加すると幅が変わるのですか?

$(document).ready(function(){ 
 
    $("button").click(function(){ 
 
    $("select").append("<option>example.example.example</option>"); 
 
    }); 
 
});
select { width:100%; } 
 
table { width:100%; } 
 
div { width:200px; height:50px; background-color:grey; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div> 
 
<table> 
 
    <tr><td>Label</td> 
 
     <td><select> 
 
      <option>Select</option> 
 
      </select> 
 
     </td> 
 
    </tr> 
 
</table> 
 
</div> 
 
<button>Click</button>

答えて

0

あなたは100%widthを設定します。それはテーブルの中にあり、テーブルはその内容のサイズに合わせて調整されます。正確なサイズにしたい場合は、どのサイズにするかを指定する必要があります。親の100%にしたい場合は、幅を設定したdivである親を使う必要があります。表の要素は柔軟性があり、なぜこの動作を得ているのですか?

レスポンシブ動作を行う場合は、通常、テーブルまたはパーセントの代わりに応答単位を使用できます。 emは一般的な応答単位です。 Here's more info on this unit from css-tricks.vwまたは画面サイズに相対的な他のいくつかの単位を使用することもできますが、親要素には適用されません。

+0

最大幅(または)最小幅は役に立ちません。 – YSuraj

+0

@YSuraj私は選択がテーブルにあることに気づいた、私は私の答えを変更しました、参照してください。 – Goose

+0

テーブルの中に固定サイズを持つことはできないのですか? – YSuraj

関連する問題