Используйте свойство clip, чтобы отделить кнопку от поля ввода, скрыть ее с помощью opacity: 0
, а затем расположить ее над стилизованной кнопкой.
* > /**/ input[type="file"], x:-webkit-any-link {
outline: none;
cursor: pointer;
position: absolute;
top:0;
clip: rect(0px 86px 22px 0px); /* Webkit; use 0px 222px 22px 145px for other browsers */
z-index:2;
opacity:0;
}
Стилизованное поле ввода может быть расположено рядом со стилизованной кнопкой. Используйте обработчики событий, чтобы синхронизировать отображаемое значение поля ввода с выбранным именем файла.