Svarga
Moderator | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору medreces Цитата: Это не глюк, это фича . Решение - там же... | Такие глюки называются глюками, а не фичами Не должны быть <select>'ы "оконнами" элементами... К тому же в ИЕ <select> с CSS почти не дружит... По твоей ссылке сие: Цитата: Вышележащий слой не накрывает <select>. Как это побороть? <select> - это "оконный" элемент и имеет бесконечный z-index; накрыть его можно только другим оконным элементом. Если речь идет о том, чтобы накрыть <select> "обычным" слоем (а не оконным элементом), то единственным решением такой проблемы будет прятать нижний слой с <select>-ом при его пересечении с верхним слоем. Если слой должен накрывать <select> не полностью, решение задачи становится громоздким и неестественным, поэтому зачастую проще изменить структуру дизайна, чем добиваться решения данной проблемы любой ценой. | и почти там же: Цитата: Решения этой проблемы, увы, нет По-моему, уже несколько раз обсуждалось ... <select> - это "оконный" элемент и как таковой имеет бесконечный z-index. Единственное, чем его можно накрыть, так это другим оконным элементом. Посему на выбор (в порядке возрастания сложности): 1. Поменять дизайн, чтобы выпадающее меню не накрывало <select>. 2. Делать <select> невидимым, когда выпадает меню. 3. Заключать меню в "оконный" контейнер, а именно iframe или popup-окно IE. Первое - настоящее "кросс-браузерное" решение. Второе - какое-то ублюдочное. Третье - только IE, да и то с IE 4 и 5.0 (iframe) прилично повозиться придется. Налево пойдешь ... направо пойдешь ... ну а если прямо пойдешь ... ) | Собственно, ни одного решения — по сути: "убьём глюки браузера фантазией кодера" , как это обычно и случается при обнаружении глюков... В моём случае прятать <select> нельзя, т. к. на нужна стрелочка, при нажатии на которую он будет разворачиваться (можно, конечно, сделать стрелку картинкой, но это не такой случай, чтоб элементы формы в картинках делать )... в iframe заключать — извращение по определению — придётся организовывать передачу данных из того самого iframe'а, если же пользователь зайдёт с отключенными скриптами, то мы фактически потеряем один из элементов формы, что не есть хорошо ... Popup-окно на странице поддерживается только MSIE 5.5+... В общем, единственное, что в голову приходит не из области психопатологии — делаем проверку: (document.all&&!window.opera) если true, то специально для ИЕ выводим текстовое поле над меню, а не поверх него... Примерно так: http://forall.ru-board.com/Svarga/ie_select_z-index_bug_solution.html
|