web-dev-qa-db-ja.com

cssを介してタグのサイズ属性を設定しますか?

通常、これを行うことができます:

<select size="3">
    <option>blah</option>
    <option>blah</option>
    <option>blah</option>
</select>

そして、3つのオプションすべてが表示される選択ボックスとしてレンダリングされます(ドロップダウンせずに)
cssからこのサイズ属性を設定する方法を探しています。

15
Boris Callens

サイズを設定するオプションはありませんが、サイズを設定する場合、一部のブラウザでは、CSSを介して幅/高さのプロパティを任意に設定できます。

一部= Firefox、Chrome、Safari、Opera。

IEでも(驚くことではありません)

ただし、必要に応じて、IEでCSS式を使用して、サイズ属性が設定されているかどうかを確認し、設定されている場合は、JSを実行して必要なサイズに(再)設定することができます...例:.

size = options.length;
8
scunliffe

これは不可能だと思います。

CSSプロパティは非常に一般的であり(すべての要素に適用可能)、要素の機能を変更することはできません(外観のみ)。

Size属性は、少なくともsize = 1/size!= 1の場合、要素の機能を変更しています。

6
pilif

これを試して:

select[attr=size] {
    width:auto;
    height:auto;
}
2
marco

私は同意しません、私は次のようなものでCSSを使用して選択した幅と高さを設定することができました:

select { width: 5em; height: 5em; }

IE(7)で動作するだけでなく、テストしたばかりです。

2
atbell

次のCSSセレクターを使用して、size属性を持つ選択項目のスタイルを設定できます。

select[size]{
/*your style here */
}
0
kimomat

一般に、CSSを介してhtml内に設定された属性を追加することはできません。疑似セレクター:beforeと:afterを使用してhtmlに追加できますが、それだけです。さらに、すべてのブラウザーで互換性があるわけではありません。本当にこれを行う必要がある場合は、Javascriptに頼らなければならないと思います。

0