Chrome のレンダリング バグの回避策を探しています。select 要素に非表示のオプション要素が約 90% 以上ある場合に表示されます。Chrome では、ドロップダウンの高さが短すぎて使用できません。これは、他のブラウザでは発生しないようです。jsFiddle で例を表示します。
HTML Example
Note: Some options were removed to keep the code brief.
The bug does not show up unless all options are present.
100 Options, 90% Hidden:<br>
<select>
<option value="">Select an Option</option>
<option value="0" style="display: none">Option 0</option>
<option value="1" style="display: none">Option 1</option>
<option value="2" style="display: none">Option 2</option>
<option value="3" style="display: none">Option 3</option>
<!-- Options removed for brevity. -->
<option value="86" style="display: none">Option 86</option>
<option value="87" style="display: none">Option 87</option>
<option value="88" style="display: none">Option 88</option>
<option value="89" style="display: none">Option 89</option>
<option value="90">Option 90</option>
<option value="91">Option 91</option>
<option value="92">Option 92</option>
<option value="93">Option 93</option>
<option value="94">Option 94</option>
<option value="95">Option 95</option>
<option value="96">Option 96</option>
<option value="97">Option 97</option>
<option value="98">Option 98</option>
<option value="99">Option 99</option>
</select>
テスト済みのブラウザ:
- クローム 27 & 28 (不合格)
- Firefox 21 (パス)
- IE 9 (合格)
- オペラ 12 (パス)
- Safari 5.1 (パス)
更新:この件についていくつか読んだところ、どうやらオプションは選択内に隠されるべきではないようです。オプションを無効にすることはできますが、それらは消えません。オプションをまったく選択したくない場合は、ノードを完全に削除する必要があります。オプションを非表示にする機能は、クロスブラウザーでは完全には機能しないようです。ほとんどの場合、矢印キーを使用して「非表示」オプションを選択し続けることができます。オプションのオンとオフを切り替える必要があるため、これは私の特定の状況では不便ですが、これが今のところ機能する唯一の方法のようです.