【问题标题】:DropDownList width in Internet ExplorerInternet Explorer 中的下拉列表宽度
【发布时间】:2009-05-26 20:20:16
【问题描述】:

我有一个内容相当广泛的 ASP.NET DropDownList,而封闭列表的宽度由于站点上的空间限制而必须非常小。这就是为什么我需要能够在列表关闭时为其设置特定宽度,但希望它在打开时与内容一样宽。

默认情况下,Firefox 在打开时会自动使 DropDownLists 与其内容一样宽。另一方面,Internet Explorer 没有。

有什么方法可以告诉 IE 在打开时使打开的 DDL 与内容一样宽,但在关闭时使其尺寸更小?最好不使用javascript。

编辑:好的,我在第一篇文章中还不够清楚。重点是打开时。我想要列表关闭时的特定宽度,但我希望它与内容一样宽打开时。正如我所说,Firefox 会这样做,而 IE 不会。

【问题讨论】:

  • 你想和内容一样宽吗?我很困惑
  • 好的,我试着让它更清楚一点。

标签: c# asp.net internet-explorer


【解决方案1】:

我建议不要使用下拉列表,而是像这样对 javascript 更友好的下拉列表

http://jquery.sanchezsalvador.com/samples/example.htm

这将允许您的内容扩展超过选择宽度。

【讨论】:

  • 不是我想要的,但由于 javascript 看起来是唯一的解决方案,我会给你答案标签。 :)
  • 谢谢。不幸的是,javascript(或其他类似 flash 的东西)是唯一的选择。但有时事情就是这样
【解决方案2】:

IE 默认与内容一样宽。

设置一个 CSSClass 并给它一个指定的宽度,你就可以改变它。

你也可以去

select{
  width:42px;
}

编辑:从你现在所说的来看,我觉得你需要做一些 javascript,因为 IE 无法处理。尝试查看 jquery

【讨论】:

    【解决方案3】:

    默认情况下,IE 将使其与内容一样宽。如果您在 DDL 上指定宽度或通过在父容器中的某处放置宽度来约束 DDL,则会更改此行为。

    【讨论】:

      【解决方案4】:

      我会说你最好的办法是找出最大宽度,并将其设置在下拉列表中。这样无论内容如何,​​您都可以获得一致的外观,并且您还可以绕过这个问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-03-29
        • 1970-01-01
        • 1970-01-01
        • 2018-08-29
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 2010-09-09
        相关资源
        最近更新 更多