2012-08-05 16 views
13

Desidero creare un campo di input come quello di Android Ice Cream Sandwich solo in HTML/CSS e senza utilizzare immagini.
Sono bloccato con questi piccoli bordi (l'immagine sotto), Sarebbe bello se qualcuno potesse aiutare.Campo di immissione simile a ICS per Android in CSS

Android inpu field

+0

Siamo spiacenti, non hanno visto la tua risposta. Provato questo: input [type = "text"] { border: ciano solido 1px; border-top: solido trasparente 1px; altezza: 5px; overflow: visibile; } In nessun modo, l'overflow è sempre nascosto :( –

+0

possiamo fare questa finestra di input attraverso gli pseudo-elementi prima e dopo? – Mak

+0

Questa domanda potrebbe essere interessante con un paio di soluzioni: http://stackoverflow.com/q/14479606/1254484 – Pascal

risposta

36

EDIT

mi piacerebbe includere il commento di owencm per le persone inciampo in tutta questa domanda, in quanto lo trovo molto elegante:

CSS

input.holo[type='text'] { 
    /* You can set width to whatever you like */ 
    width: 200px; 
    font-family: "Roboto", "Droid Sans", sans-serif; 
    font-size: 16px; 
    margin: 0; 
    padding: 8px 8px 6px 8px; 
    position: relative; 
    display: block; 
    outline: none; 
    border: none; 
    background: bottom left linear-gradient(#a9a9a9, #a9a9a9) no-repeat, bottom center linear-gradient(#a9a9a9, #a9a9a9) repeat-x, bottom right linear-gradient(#a9a9a9, #a9a9a9) no-repeat; 
    background-size: 1px 6px, 1px 1px, 1px 6px; 
} 
input.holo[type='text']:hover, input.holo[type='text']:focus { 
    background: bottom left linear-gradient(#0099cc, #0099cc) no-repeat, bottom center linear-gradient(#0099cc, #0099cc) repeat-x, bottom right linear-gradient(#0099cc, #0099cc) no-repeat; 
    background-size: 1px 6px, 1px 1px, 1px 6px; 
} 

HTML

<input type='text' class='holo'/> 

JSFiddle http://jsfiddle.net/QKm37/

soluzione originale

<span style=" 
    border-bottom: solid 1px cyan; 
    border-left: solid 1px cyan; 
    margin: 20px; 
    border-right: solid 1px cyan; 
    overflow: visible; 
    max-height: 0.2em; 
    display: inline-block; 
    padding: 2px; 
"> 
<input type="text" style=" 
    outline: none; 
    border: none; 
    background: transparent; 
    display: inline-block; 
    position: relative; 
    bottom: 0.8em; 
"> 
</span> 
+1

ho una soluzione forse migliore .. modificherò il tuo post scusami per quello .. ma è chiuso –

+3

i seguenti lavori in Chrome senza tag aggiuntivi: http://jsfiddle.net/QKm37/ – owencm

+0

'' ... mi prendi in giro? –

Problemi correlati