Otro blog más de diseño
Vamos a aprovechar el código obtenido en maquillar un file upload, para complementarlo y que se parezca aún más si cabe a un control de upload solo que a nuestro gusto.
El código inicial cambia un poco. Necesitamos crear un contenedor, y colocar dentro nuestro nuevo botón de upload, y un input de tipo texto para que nos muestre el archivo seleccionado.
<div class="cnt_upload">
<input id="upload_value" value="" />
<div class="upload">
<input type="file" name="upload" onchange="document.getElementById('upload_value').value=this.value" />
</div>
</div>
En esta ocasión hemos tenido que utilizar javascript para poder pasar mediante el evento onchange del input de tipo file, al de tipo texto.
Ahora que tenemos la estrucura necesaria, pasamos al css
div.cnt_upload {
position:relative;
height: 27px;
width: 200px;
}
div.upload {
position: absolute;
left: 120px;
top: 0px;
width: 80px;
height: 24px;
overflow:hidden;
background: url(btn_upload.png) left top no-repeat;
clip:rect(0px, 80px, 24px, 0px );
}
div.upload input {
position: absolute;
right: 0px;
top: 0px;
margin:0;
padding:0;
filter: Alpha(Opacity=0);
-moz-opacity: 0;
opacity: 0;
}
input#upload_value {
position:absolute;
left: 0px;
top: 0px;
margin:0;
padding:0;
padding-top: 2px;
height: 20px;
width: 118px;
border:1px solid #CCC;
}
Qué puedo decir de mi que no se haya dicho ya antes.
Tecnorama
mayo 12th, 2008 el 10:25 pm
Muy elegante, si señor!
cmacias
mayo 12th, 2008 el 10:49 pm
Y ahora vamos a por los desplegables
xawil
agosto 31st, 2009 el 10:59 pm
Muchisimas gracias CMacias, me re sirvió, te guarde en mi delicious.
cmacias
septiembre 1st, 2009 el 9:28 am
Gracias a ti
A pesar de tener esto un pelín abandonado por falta de tiempo, por lo menos el contenido sigue siendo válido.
Un saludo
r2d2
diciembre 29th, 2009 el 12:56 pm
muchisimas gracias no era fácil, agradecido al bloglines que vas!