首先,请检查这个小提琴 - > http://jsfiddle.net/xV4s3/
正如您所看到的,我们有一个包含overflow: hidden
的包装器,里面有一个带有三个选项的原生select
和一个ul
样式,看起来像一个带有三个项目的选择。< br />现在,当你点击ul时,你可以看到它的高度变化(由于脚本),但由于overflow: hidden
,所以看不到包装器之外的任何东西。这符合预期。
我的问题是关于默认的select
选项,因为我在规范中找不到任何内容。
为什么他们不受overflow: hidden
的影响?
答案 0 :(得分:2)
这可能只是一个实现细节。 CSS2.1关于overflow control的唯一说法是overflow
属性根据应用属性的包含块控制内容溢出。它没有定义表单元素的行为和呈现,而是针对此属性。
正如我评论的那样,很明显下拉菜单不是作为包装器的后代创建的,甚至也不是select
元素。实际上,大多数浏览器可能选择完全独立于画布呈现它,并且可以单独作为应用程序级或系统级UI元素(可能出于可用性原因)。请注意,虽然您可以将CSS应用于option
元素以影响下拉菜单的显示方式,但您实际上无法设置下拉菜单的样式。