2017-07-17 85 views
1

我有以下CSS選擇器,使用向上和向下鍵或鼠標指針突出顯示查找列表中的選定條目。問題是同時使用鍵盤和鼠標時,多個條目被突出顯示。以下是CSS條目。使用.hover選擇器混合使用向上和向下鍵

&:hover, &.selected { 
       background: #205081; 
       label { 
        .title { 
         color: #fff; 
        } 
        .subTitle { 
         color: #ccc 
        } 
       } 
      } 

.selected CSS類是基於上下對解決此問題的關鍵events.Any建議,將不勝感激動態設置。謝謝

+0

這是一個瀏覽器的用戶特定設置,你不想改變用戶的設置,因爲他們通常有這個原因。特別是當他們失明時。 –

回答

1

那麼,兄弟選擇器總是棘手。 鑑於您的樣式應用到ulli,您可以使用招用父母的:hover像這樣採取:hover.selected

@mixin high-light() 
{ 
    background: #205081; 
    label { 
     .title { 
      color: #fff; 
     } 
     .subTitle { 
      color: #ccc 
     } 
    } 
} 
@mixin unhigh-light(){ 
    background: #fff; 
    label { 
     .title { 
      color: #000; 
     } 
     .subTitle { 
      color: #000 
     } 
    } 
} 
ul{ 
    &:hover{ 
     li{ 
      &.selected{ 
       @include unhigh-light(); 
      } 
     } 
    } 
    li{ 
     &:hover, &.selected, &.selected:hover { 
      @include high-light(); 
     } 
    } 
} 

這是HTML標記的樣本:

 <ul> 
      <li><label><span class="title">Item</span></label></li> 
      <li class="selected"> 
       <label><span class="title">Item</span></label> 
      </li> 
      <li><label><span class="title">Item</span></label></li> 
     </ul> 
+0

感謝您的反饋。在應用以下樣式之後,它仍會突出顯示鍵盤選擇和鼠標懸停中的兩個條目。 – Faizal

+0

下面是HTML模板<類=部repeat.for = 「項目的項目」, 「$ {$索引== selectedAutocompleteItemIndex '選擇':? ''}」> \t \t – Faizal

+0

@Faizal,我與'ul','li'假設。從你的html模板中,你應該將scss中的元素相應地更改爲'parent element','section'。 –

相關問題