Изменить ширину раскрывающегося списка элемента управления dropdownlist в IE без изменения ширины самого элемента управления - PullRequest
2 голосов
/ 10 ноября 2010

У меня есть раскрывающийся список с большим количеством элементов, которые шире, чем ширина, заданная для этого элемента управления.

Желаемое поведение - это способ, которым Chrome обрабатывает его: ширина раскрывающегося списка указывает, сколько места занимает элемент управления.занимает страницу, в то время как сам раскрывающийся список настолько широк, насколько это необходимо для чтения элементов раскрывающегося списка.

У меня есть проблема в IE (я использую v.8, но мне также нужна совместимость с IE7): ширина раскрывающегося списка всегда равна ширине элемента управления.

Я пробовал решение @ BalusC здесь: Ширина Dropdownlist в IE , но это изменяет ширину самого элемента управления.Ответ принят устарел и содержит 404 ссылки.

Этот вопрос может дублировать следующее: Ширина DropDownList в Internet Explorer , но принятый ответ немне не очень помогает (и ему больше года).

Я надеюсь, что появятся некоторые новые идеи.

Итак, можно ли изменить ширину раскрывающегося списка в раскрывающемся списке элемента управления в IE без изменения ширины элемента управлениясама

1 Ответ

0 голосов
/ 15 января 2012

Имея ту же проблему, я потратил много времени на поиски и пришел к выводу, что это невозможно.Наиболее распространенным решением, предлагаемым на различных форумах и веб-сайтах, является динамическое изменение ширины элемента управления в соответствии с шириной содержимого.К сожалению, это может (и, вероятно, будет) разрушить макет страницы.Наконец, я просто создал div с выпадающим фоновым изображением и связал событие onclick, которое открыло абсолютно позиционированный div, который действовал как список.Внутри я поместил теги абзаца (элементы списка), которые меняют цвет фона: hover (элемент списка - выделенный) и события onclick.

Это работает во всех основных браузерах, включая IE6, если вы используете jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...