2017-05-03 3 views
0

Ich versuche, es zu machen, so dass die label direkt auf der Oberseite eines input Feld ist, und ich möchte ein Symbol rechts neben anzuzeigen sagte input Feld.Anzeigesymbol neben dem Eingabefeld

@import url("//fonts.googleapis.com/icon?family=Material+Icons"); 
 

 
input, 
 
label { 
 
    display: block; 
 
}
<div> 
 
    <label for="username">Username</label> 
 
    <input id="username" placeholder="Username" class=""> 
 
    <i class="material-icons">accessibility</i> 
 
</div>

kann ich die label über dem input unter Verwendung der obigen CSS erhalten. Aber wie bekomme ich die icon neben dem Eingabefeld? kurz nach dem Eingabefeld

JS Fiddle

+0

Sie es brauchen Sie ?? –

+0

Ja, also sollte das Icon auf dem * rechts * des Eingabefeldes stehen (nicht unten, wie es in der jsfiddle ist). – MonkeyOnARock

+0

Die einfachste Änderung besteht darin, _input_ aus Ihrer CSS-Regel zu entfernen: 'input, label { display: block; } 'wird' Etikett { Anzeige: Block; } ' –

Antwort

1

@import url("//fonts.googleapis.com/icon?family=Material+Icons"); 
 

 
label { 
 
    display: block; 
 
} 
 

 
input{ 
 
    display:inline; 
 
    }
<div> 
 
    <label for="username">Username</label> 
 
    <input id="username" 
 
     placeholder="Username" 
 
     class=""> 
 
    <i class="material-icons">accessibility</i> 
 
</div>

+1

Sie brauchen nicht einmal die 'Eingabe {Anzeige: Inline; } 'da Inline ist der Standardwert für ein' ' –

1

Der Eingang muss

label { 
    display: block; 
} 

input { 
    display: inline-block; 
} 
als Inline-Block angezeigt werden

https://jsfiddle.net/51zrg6ms/2/

+1

Nein, es muss nicht' inline-block' sein - 'inline' funktioniert einwandfrei und ist die Standardanzeigeeigenschaft für ein' input' Element. –

+0

Ja, Sie können; aber ich bevorzuge Inline-Block, wenn Sie später einige Ränder und Polsterungen für mehr perfekte Positionierung hinzufügen möchten. –

Verwandte Themen