更改div id =“content”后代的所有Select元素的宽度

时间:2009-06-30 19:55:41

标签: css stylesheet

我正在尝试设置作为<select>后代的所有<div>元素的样式。我可以在他们上课,但我想要聪明: - )

我认为它在ie6中不起作用,但它是否在ie7等中起作用?

你是怎么做的

这是我的一个选择(它没有类或id),但它们都是div的后代,其id为“content”

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

有什么想法吗?

6 个答案:

答案 0 :(得分:5)

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

#content select { ... }

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

#content > select { ... }

如果您想将其限制为只有id =“content”的div元素:

div#content select { ... }

第二个可能在某些旧浏览器中不起作用,但其他浏览器甚至可以在古老的浏览器中工作,只要它有任何css支持,如Netscape 4。

答案 1 :(得分:2)

这适用于各种浏览器:

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

答案 2 :(得分:1)

.myDiv select {
  font-family:verdana;
}

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

答案 3 :(得分:0)

div#content > select {
}

答案 4 :(得分:0)

.content select {

              css here

}

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

最好的运气!

答案 5 :(得分:0)

Nick的解决方案只能获得直接的后代,因此它不会在div中的表单中获得选择。无论它们有多少其他元素,这都会得到它们:

#content select { width: 100px }

如果你只想获得文本输入,你可以这样做:

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

并且不要忘记密码输入与文本输入不同!