2

私はこれを持っています

.strike{
    text-decoration: line-through;
}

my が呼び出されるたびに、myのsdisable()が無効になり、このクラスが追加されますが、IE では機能しません。はい、問題なく無効になっていますが、IE ではテキスト装飾が失敗します。この問題の回避策は何ですか? ありがとう。<option><select><option>

編集: text-decoration: line-through が Chrome でも機能しないことがわかりました。

4

6 に答える 6

2

selectスタイル要素のオプションはほとんどありません。これは、利用可能なオプション (および制限) を示すサポートグリッドです。

CSS を使用して選択フォーム コントロールのスタイルを設定するよりも、別の方法 () で「選択」をシミュレートする方がよいでしょう。

于 2012-10-11T21:08:31.827 に答える
2

一般に、option要素のレンダリングは依然としてシステムの組み込みルーチンに大きく基づいており、これらのルーチンは CSS で制御できないことが多いため、要素のスタイリングには多くの制限があります。単純な静的な例でテストできるため、通常、重ね打ちは機能しません<select><option style="text-decoration: line-through">Hello world</select>。(好奇心として、Firefox はライン スルーを使用しますが、初期状態で最初に選択されたオプションでは使用しません。)

別のアプローチを使用することを検討してください。オプションを選択できない場合は、それを削除してみませんか? (JavaScriptで要素を削除するという意味です。CSSで非表示にするとうまくいきません。)

または、そのdisabledプロパティをに設定しますtrue。これにより、選択されなくなり、一般的なブラウザーでは灰色のテキストで表示されます。

于 2012-10-11T21:16:04.593 に答える
0

テキスト div に 1 ピクセルの背景を追加することもできます。これは少なくとも将来性があり、すべてのブラウザーで機能します。

于 2012-10-11T20:40:52.190 に答える
-3

ほら、これやってみる

<select>
    <option selected> Size - </option>
    <option class="disabledoption">Short Option</option>
    <option class="disabledoption">This Is </option>
    <option class="disabledoption">dssdsd Is </option>
    <option class="disabledoption">yes </option>
    <option class=>ertyu </option>
    <option class=>gsdgsdf </option>
</select>

<script type="text/javascript">
jQuery(document).ready(function() {
    uni = '\u0336';
    jQuery('.disabledoption', this).each(function(index, element) {
        uni = '\u0336';
        var result = strikeString(jQuery(this).html(), uni);
        jQuery(this).html(result);
    });
    });
    function strikeString(str, strikeKind) {
        var result = '';
        for (var i = 0; i < str.length; i++) {
            var c = str.charAt(i);
            var r = c+strikeKind;
            result += r;
        }
    return result;
}
</script>
于 2014-08-21T16:55:08.597 に答える