2009-06-30 22 views
1

我试图风格所有<select>元素是一个<div>的后裔。我可以有一个类放在他们身上,但我试图聪明:-)更改宽度的所有选择元素谁是div的后代id =“content”

我相信它不能在ie6中工作,但它在ie7等工作吗?

你怎么办呢

这是我的选择之一(它没有class和id),但他们是一个div id为“内容”

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

任何想法的所有后代?

回答

5

如果您想要的任何选择是使用id = “内容” 的元素的后代:

#content select { ... } 

如果你想要的任何选择是id =“content”元素的直接后代:

#content > select { ... } 

如果你想将它限制为仅使用id =“内容”的div元素:

div#content select { ... } 

第二个可能无法在一些较旧的浏览器,但其他人应该甚至一个古老的浏览器,只要工作它有任何的CSS支持,如Netscape 4.

0
div#content > select { 
} 
+0

这只得到直系后代。删除> – Sampson 2009-06-30 21:07:51

0
.content select { 

       css here 

} 

我相信这是你如何能做到这一点。 “内容”是你的div的类别。这将格式化具有“内容”类的div内的所有选择。

祝你好运!

+0

关闭。这将匹配ID“内容”和类名“选择”的任何元素。您可能打算删除这段时间,并在两者之间增加一个空格。 #内容选择 – Sampson 2009-06-30 20:01:36

2

这应该跨浏览器的工作:

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

这将是内容的ID。 – 2009-06-30 20:09:20

+0

@Chris B:没错。我编辑过。谢谢。 – 2009-06-30 21:46:10

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

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

尼克的解决方案只获得直接的后代,所以它不会得到在div中的形式选择。这将让他们不管他们有多少其他要素深有:

#content select { width: 100px } 

如果你只想要得到的,例如,你可以这样做文字输入:

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

和不忘记密码输入与文本输入不同!

相关问题