2009-06-30 4 views
1

<select>の要素をすべて<div>の子孫であるようにスタイル設定しようとしています。私は彼らの上に置いたクラスを持つことができますが、私はそれがIE6では動作しませんが、それはIE7などでは動作しないと信じていdiv id = "content"の子孫であるすべてのSelect要素の幅を変更

:-)賢いことをしようとしていましたか?あなたがそれを行うのです。ここ

は私の選択の一つである(それは、クラスまたはIDを持っていません)しかし、彼らはすべてのアイデアID「コンテンツ」

<div id="content"> 
    <select > 
     <option></option> 
    </select> 
</div> 

であるdiv要素のすべての子孫であるか

答えて

5

あなたがいずれかをしたい場合は、それは、ID = "内容" を持つ要素の子孫である選択します

#content > select { ... } 
:それはID =「コンテンツ」を持つ要素の直接の子孫である選択

あなたにid =「内容」を持つ唯一のdiv要素にそれを制限したい場合は、次の二つ目は、一部の古いブラウザでは動作しないかもしれないが、他の人がいる限りでも、古代のブラウザで動作するはず

div#content select { ... } 

Netscape 4のように、CSSサポートは全くありません。

+2

#3:とにかく、1つの要素だけが 'comment'のIDを持つべきです。 – tj111

+1

@ tj111:はい、同じCSSファイルを複数のページで使用すると便利です。 – Guffa

0
div#content > select { 
} 
+0

これが唯一の直接の子孫を取得します。 > – Sampson

0
.content select { 

       css here 

} 

私は、これはあなたがこれを実現する方法であると考えています。 "content"はdivのクラスです。これは、「コンテンツ」のクラスを持つdiv要素の中にすべての選択をフォーマットします。

最高の幸運!

+0

閉じる]を削除します。これはID "content"とclassName "select"を持つ要素と一致します。あなたは、おそらくその期間を削除し、2つの間にスペースを追加することを意味します。 #content – Sampson

2

これは、ブラウザ間で動作するはずです:あなたがいずれかをしたい場合

#content select { ... } 

#content select { 
    // Styles for selects inside the div with id `content' 
} 
+0

を選択すると、コンテンツのIDになります。 –

+0

@クリスB:その通り。私は編集しました。ありがとうございました。 –

1
.myDiv select { 
    font-family:verdana; 
} 

<div class="myDiv"> 
    <p><select>...</select></p> 
    <p><select>...</select></p> 
</div> 
0

Nickのソリューションは直接の子孫を取得するだけなので、divのフォームには選択がありません。

#content select { width: 100px } 

あなただけ取得したい場合は、例えば、テキスト入力は、あなたがこれを行うことができます:

#content select[type=text] { width: 100px } 

とそうでないがこれは関係なく、彼らがどのように他の多くの要素の深いそれらを取得しませんパスワード入力はテキスト入力とは異なることを忘れないでください!

関連する問題