Xpoint
   [напомнить пароль]

"Внутренняя структура" у <input type=file> в Gecko?

Метки: [без меток]
2010-10-20 01:24:44 [обр] Илья Cтpeльцын aka SelenIT(12/171)[досье]

За последнее время не первый раз натыкаюсь на "рецепт борьбы с противными пунктирными рамками при фокусе" в Firefox, ссылающийся на пост четырехлетней давности на форуме mozillazine, в свою очередь ссылающийся на файл forms.css из программного каталога FF. В глаза бросилась запись input[type="file"] > input[type="button"] (она действительно есть в названном файле и сейчас, наряду с подобными ей input[type="file"] > input[type="text"], select[disabled] > input[type="button"]). Я понадеялся было, что через такие необычные (даже на первый взгляд нелепые) селекторы можно достучаться до компонентов файловыбиралки и решить, например, давнюю FFовскую проблему с шириной этого типа =#input#=а, но меня ждал жестокий облом (более того, приведенное на форуме "решение" тоже не работает для кнопки Browse файловыбиралки — ни в FF3.6.10/WinXP, ни в FF4.0b5 там же, пунктирная рамка при клике остается).

Действительно ли в FF (вообще в Gecko?) существуют "составные" контролы? Можно ли практически стилизовать их "по частям" в обычных веб-страницах и если да, то как? Или, может быть, это возможно лишь для XUL-интерфейсов? Есть ли по этим вещам внятная документация?

Заранее огромное спасибо за любые разъяснения, подсказки и наводки!

спустя 8 часов [обр] Павел Карасёв(0/14)[досье]
Если я правильно понял про пунктирную рамку, то я использую такое решение, через js.
Оно применимо, также для обычных ссылок.
<p><input type="button" value="Кнопка" onclick="this.parentNode.innerHTML = this.parentNode.innerHTML" /></p>
спустя 52 минуты [обр] Илья Cтpeльцын aka SelenIT(12/171)[досье]
Павел[досье], спасибо за интересный рецепт, но меня интересует не сколько практический аспект борьбы с рамками (которые лично я вообще не считаю злом), сколько загадка "составных инпутов" в мозилловском DOMе вообще. Ведь из записей input[type="file"] > input[type="button"] и input[type="file"] > input[type="text"] явно следует, что <input type="file"> предполагается не монолитным, а имеющим как минимум двух потомков — кнопку и текстовое поле. И при каких-то условиях (определенная ОС? определенная версия? определенные настройки?), наверное, до этих потомков как-то можно достучаться через CSS (раз синтаксис предусмотрен). Вот меня и интересует, что это за условия и вообще максимум подробностей, и прошу знатоков мозиллиных недр помочь мне разобраться.
спустя 3 дня [обр] Олег Торбасов(0/3)[досье]
Я начинал с такими вещами знакомиться два года назад, а потом судьба бросила меня в другие области разработки, так что толком не помню. Но мне кажется, будет правильно копать куда-то в сторону chrome://
Powered by POEM™ Engine Copyright © 2002-2005