Я хочу изменить текст по умолчанию на кнопке " Choose File
", когда мы используем input="file"
.
Как я могу это сделать? Также, как вы можете видеть на изображении, кнопка находится на левой стороне текста. Как я могу поставить его на правой стороне текста?
html
file
input
default-value
Гарри Джой
источник
источник
Ответы:
Каждый браузер имеет свое собственное представление элемента управления, и поэтому вы не можете изменить ни текст, ни ориентацию элемента управления.
Есть некоторые «разновидности» хаков, которые вы можете попробовать, если хотите HTML/CSS решение, а не Flash или Silverlightрешение.
http://www.quirksmode.org/dom/inputfile.html
http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_dom
Лично, поскольку большинство пользователей предпочитают свой браузер и поэтому, вероятно, привыкли видеть элемент управления в представлении по умолчанию, они, вероятно, запутаются, если увидят что-то другое (в зависимости от типов пользователей, с которыми вы имеете дело) ,
источник
Использовать
Ниже приведен код для получения имени загруженного файла"for"
атрибутlabel
дляinput
.источник
display:none
может использоваться на входе, поэтому он не будет занимать ненужное место.Я думаю, это то, что вы хотите:
источник
Это может помочь кому-то в будущем, вы можете стилизовать метку для ввода по своему усмотрению, поместить в нее все, что захотите, и скрыть ввод без отображения.
Отлично работает на кордове с iOS
источник
Это невозможно. В противном случае вам может понадобиться использовать Silverlight или элемент управления загрузкой Flash.
источник
Это пока лучший
источник
Вот как вы можете это сделать:
jQuery:
CSS
HTML код:
источник
Используя Bootstrap, вы можете сделать это, как показано ниже.
источник
Я сделал скрипт и опубликовал его на GitHub: get selectFile.js Простой в использовании, не стесняйтесь клонировать.
HTML
JS
DEMO
jsfiddle.net/Thielicious/4oxmsy49/
источник
Обновление 2017:
Я провел исследование о том, как этого можно достичь. И лучшее объяснение / учебное пособие здесь: https://tympanus.net/codrops/2015/09/15/styling-customizing-file-inputs-smart-way/
Я напишу здесь резюме на случай, если оно станет недоступным. Итак, вы должны иметь HTML:
Затем скрыть ввод с помощью CSS:
Затем стилизовать этикетку:
Затем вы можете добавить JS для отображения имени файла:
Но на самом деле просто прочитайте учебник и скачайте демо, это действительно хорошо.
источник
Я бы использовал
button
для запускаinput
:Быстро и чисто.
источник
Вы можете использовать этот подход, он работает, даже если много файлов ввода.
источник
Это должно работать:
источник
Вот как это делается с помощью bootstrap, только вы должны поместить оригинальный ввод куда-нибудь ... idk в голову и удалить <br>, если он у вас есть, потому что он только скрыт и в любом случае занимает место :)
источник
Позвольте мне добавить взлом, который я использовал. Я хотел иметь раздел, который позволял бы вам перетаскивать файлы, и я хотел, чтобы этот раздел перетаскивания можно было нажимать вместе с оригинальной кнопкой загрузки.
Вот как это выглядело, когда я закончил (за исключением способности перетаскивания, есть много уроков о том, как это сделать).
А потом я на самом деле создал серию постов в блоге , в основном о кнопках загрузки файлов.
источник
Итак, очень простой чистый CSS способ создания вашего собственного входного файла.
Используйте ярлыки, но, как вы знаете из предыдущих ответов, ярлык не вызывает функцию onclick в Firefox, может быть ошибкой, но это не имеет значения при следующем.
То, что вы делаете, это стиль этикетки, чтобы выглядеть так, как вы хотите
Теперь просто скрыть фактическую кнопку ввода, но вы не можете установить ее на
visability: hidden
Так сделайте в невидимом, установив
opacity: 0;
теперь, как вы могли заметить, у меня есть тот же класс на моем ярлыке, что и у моего поля ввода, потому что я хочу, чтобы у обоих был один и тот же стиль, поэтому, когда вы нажимаете на ярлык, вы фактически нажимаете на невидимое поле ввода.
источник
Мое решение ...
HTML:
Jquery:
Это просто зло: D
источник
источник