¿Hay alguna forma de que <input type="file">
tenga el mismo aspecto en todos los navegadores que utilizan CSS?<input type = "file"> - custom styles/css
Respuesta
Quirksmode.org tiene un interesante artículo al respecto: http://www.quirksmode.org/dom/inputfile.html
probar esto -
- Take a la normalidad y la puso en un elemento con position: relative.
- Para este mismo elemento principal, agregue un normal y una imagen, que tenga los estilos correctos. Coloque estos elementos absolutamente, de modo que ocupen el mismo lugar que el .
- Establezca el índice z de 2 en el en la parte superior de la entrada/imagen con estilo.
- Por último, establecer la opacidad de la a 0. La ahora se convierte efectivamente en invisible, y la estilos de entrada/imagen brilla a través, pero todavía puede hacer clic en el botón "Examinar" . Si el botón está posicionado en la parte superior de la imagen, el usuario parece hacer clic en la imagen y obtiene la ventana normal de selección de archivos . (Tenga en cuenta que no puede usar visibilidad: oculto, porque un elemento invisible verdaderamente no se puede cliquear, también, y necesitamos que se pueda hacer clic en él) Hasta aquí el efecto puede ser logrado a través de CSS puro. Sin embargo, falta una característica.
- Cuando el usuario ha seleccionado un archivo, el campo de entrada visible, falso debe mostrar el camino correcto para este archivo, como normales haría. Es simplemente una cuestión de copiando el nuevo valor del campo de entrada falsa , pero necesitamos JavaScript para hacer esto.
Más detalles - http://www.quirksmode.org/dom/inputfile.html
Usted podría tratar de usar swfupload, un proyecto de código abierto que incorpora un pequeño archivo Flash en la página en lugar de la entrada de archivos ... Se puede utilizar CSS para estilizar el botón que activa la carga del flash como lo desee.
Desventaja: puede ser complicado trabajar con ellos, y por supuesto, los usuarios deben tener flash.
Upside: ¡múltiples archivos se pueden seleccionar a la vez en el cuadro de diálogo de carga!
simplemente puede diseñar su propio botón de entrada de archivo. simplemente configure el atributo CSS de su elemento de entrada en style="display:none"
y maneje un evento click en javascript. Lectura adicional: Using hidden file input elements using the click() method
EDITAR: resulta que esto ya no funciona por razones de seguridad. un pequeño truco es simplemente establecer el estilo CSS en visibility:hidden
. Aquí está un JSFiddle donde coloco mi campo <input>
en algún lugar al final de mi página y desencadené el OpenFileDialog con un elemento <a>
.
//html
<input id="openFileDialog" type="file" id="files" name="files[]" accept=".json, .txt" />
//js
$("#openFile").on("click", function() {
//throws an error if browser doesn't support file upload
checkFileApiCompatibility();
//opens File Dialog
$("#openFileDialog").click();
$("#openFileDialog").on('change', function(){
openFile(this);
});
});
- 1. modelo de caja inconsistente entre <input type = "submit" /> y <type = "text" input />
- 2. Diferencia entre <input type = 'button' /> y <input type = 'submit' />
- 3. Selector CSS para <input type = "?"
- 4. Comprensión <input type = "file">
- 5. Cómo crear <input type = "text" /> dinámicamente
- 6. Leyendo archivos locales con <input type = "file">?
- 7. jQuery set <input type = "range"> value
- 8. ¿Está bien usar <input type = "tel" /> ahora?
- 9. ¿Puede EditorFor() usarse para crear <input type = "file">?
- 10. ¿Cómo seleccionar múltiples archivos con <input type = "file">?
- 11. Poner en valor por defecto <input type = archivo ....>
- 12. ¿Podemos cambiar <input type = "file"> style?
- 13. Relleno adicional en <input type = "text">
- 14. Cómo estilo <input type = "text"> en IE6 CSS?
- 15. detectar si <input type = "archivo" /> se apoya
- 16. HTML <input type = 'archivo'> aplicar un filtro
- 17. Html helper for <input type = "file" />
- 18. ¿Cómo hacer que <input type = "file" /> editable?
- 19. ¿Cómo puedo agregar relleno a <input type = "button">?
- 20. HTML <input type = 'archivo'> Selección archivo de eventos
- 21. input type = "submit" en lugar de input type = "button" con AJAX?
- 22. ¿por qué <input type = "number" maxlength = "3"> no funciona en Safari?
- 23. Como hacer <span> la misma altura que <input type = "text">
- 24. Problema con <input type = 'text' /> y <textarea> width
- 25. ¿Puede button_to generar <button> etiqueta en lugar de <input type = "submit" />?
- 26. input type = "url" para URL relativas
- 27. Phonegap input type password field focus
- 28. Chrome input type = "número" de estilo CSS
- 29. Ancho de input type = elemento de texto
- 30. ¿Cómo puedo saber si un navegador es compatible con <input type = 'fecha'>
duplicados: http://stackoverflow.com/search?q=style+input+file –
posible duplicado de (http [Cómo el estilo de "archivo de entrada" con CSS3/Javascript?]: // stackoverflow. com/questions/3226167/how-to-style-input-file-with-css3-javascript) –
buena pregunta ... pero he intentado todo, no funciona ... espero que alguien tenga la respuesta! –