У меня есть решение, которое поможет вам стилизовать кнопку, как вы хотите, и держать ее одним щелчком мыши во всех браузерах.
В основном создайте div и присвойте ему класс или id, для примера, давайте назовем это "outer_div".
Затем поместите файл ввода внутри «external_div» и также дайте ему идентификатор, для этого примера давайте назовем его «file_input_name».
Далее идет CSS ...
Для «external_div» задайте следующие свойства
#outer_div{
cursor:pointer;
overflow:hidden;
display:block;
float:left;
position:relative;
width:83px;
height:25px;
background:url(your button image goes here) no-repeat;
}
Убедитесь, что ваша кнопка имеет те же свойства ширины, чтобы это работало.
Далее CSS для file_input_name:
#file_input_name{
position:relative;
float:left;
cursor:pointer;
right:138px;
-moz-opacity:0 ;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;
text-align: right;
}
Это должно сработать.По сути дела, мы помещаем ввод файла так, чтобы кнопка обзора находилась над фоновым изображением, а не там, где находится URL файла.
Я сделал это сам, и он работает в IE и Firefox / safari /хром.
Дайте мне знать, как вы поживаете или если вам нужна дополнительная помощь.