2016-06-09 20 views
0

Ich versuche, die Beschriftung zu beeinflussen, wenn der Eingang fokussiert ist. Aus welchem ​​Grund auch immer wird die CSS für das Label nicht erkannt, wenn die Eingabe fokussiert ist.CSS ändert mit Fokus-Attribut auf Eingabefeld

li.sm-vol label { 
    position: absolute; 
    top: 33px; 
    width: 100%; 
    background: #462770; 
    color: #fff; 
    font-weight: 400 !important; 
    padding-left: 10px; 
    transition: all 0.2s ease; 
} 

li.sm-vol input:focus li.sm-vol label { 
    top: 15px; 
} 
+1

Könnten Sie den HTML-Code als Referenz hinzufügen? Es würde helfen, den Code und sein Verhalten zu verstehen. – Buffalo

+0

http://meta.stackexchange.com/q/5234 – Stickers

Antwort

4

Sie es mit reinem CSS tun können, nur dann, wenn das Etikett auf das Eingabefeld unter Verwendung + oder ~ Wähler, dh

Zur visuellen Neuordnen des Eingangs

input:focus + label { 
 
    color: red; 
 
}
<input type="text"> 
 
<label>Label</label>

nächsten ist und Labelpositionen, siehe die einfache Demo mit flexbox.

.fieldset { 
 
    display: inline-flex; 
 
} 
 
.fieldset label { 
 
    order: -1; 
 
    margin-right: 4px; 
 
} 
 
.fieldset input:focus + label { 
 
    color: red; 
 
}
<div class="fieldset"> 
 
    <input type="text"> 
 
    <label>Label</label> 
 
</div>