2016-09-17 77 views
1

我有這樣的代碼:CSS選擇相同類型的所有元素這個元素之後

<fieldset id="login"> 
<input type="text"> 
<input type="password"> 
<input type="checkbox" id="inline_invisible"> 
<label for="invisible">Login invisible</label> 
<input type="checkbox" id="remember"> 
<label for="remember">Remember me</label> 
</fieldset> 

標籤不應該顯示,直到輸入框之一是焦點,所以我有這樣的CSS:

#login input:focus + input + label { 
    display:inline-block; 
} 

但它僅在密碼框處於焦點時選擇第一個標籤,而不是第二個標籤,並且與第一個輸入框無關。我該怎麼辦?只有CSS請,我不能改變HTML。

謝謝。

回答

1

使用general sibling選擇器(~),該選擇器將根據焦點輸入選擇所有label

(注:+選擇只選擇一個遵循同級元素)

label{ 
 
    display: none; 
 
} 
 
#login input:focus ~ label { 
 
    display: inline-block; 
 
}
<fieldset id="login"> 
 
    <input type="text"> 
 
    <input type="password"> 
 
    <input type="checkbox" id="inline_invisible"> 
 
    <label for="invisible">Login invisible</label> 
 
    <input type="checkbox" id="remember"> 
 
    <label for="remember">Remember me</label> 
 
</fieldset>

+1

也感謝你的回答。 –

+0

歡迎您:) – kukkuz

相關問題