2010-11-09 87 views
2

我有一个下拉列表,其中有很多项目的宽度比我为该控件设置的宽度要宽。更改下拉列表控件在IE中的下拉宽度,而不会改变控件本身的宽度

期望的行为是Chrome处理它的方式:下拉列表宽度指定控件在页面上占用多少空间,而下拉本身的宽度与读取下拉列表中的项目所需的宽度相同。

我在IE中遇到问题(我正在使用v.8,但我需要与IE7兼容):下拉宽度始终与控件宽度一样宽。

我试过@ BalusC的解决方案在这里:Dropdownlist width in IE但这改变了控制本身的宽度。 接受答案同时已过时,并有404个链接。

这个问题可能是以下几个方面的重复:DropDownList width in Internet Explorer,但接受的答案并没有真正帮助我(它已经超过一年)。

我希望有一些新的见解可用。

那么,有没有可能改变IE下拉列表控件的下拉宽度而不改变控件本身的宽度?

回答

0

同样的问题,我花了很多时间搜索,得出这是不可能的结论。在各种论坛和网站上建议的最常见的解决方案是根据内容宽度动态改变控制宽度。不幸的是,这可能(也可能会)破坏页面布局。最后,我刚创建了一个带有下拉式背景图像的div,并绑定了onclick事件,该事件打开了一个绝对定位的div,其行为类似于列表。在里面我放置了改变背景颜色的段落标签(列表项):悬停(列表项 - 突出显示)和onclick事件。

如果您使用jQuery,它可以在所有主流浏览器(包括IE6)中以此方式工作。