CSS實現某元素hover時 全部兄弟節點樣式改變

css 提供的兄弟節點選擇器有兩種css

  • 第一種:+  相鄰兄弟選擇器( li + li )只能選擇與本身牢牢相連的身後的一個兄弟,藍瘦。。
  • 第二種:~  通用兄弟選擇器( li ~ li )只能夠選擇在本身身後的全部li小弟 ,行,你是大哥你牛逼

因此,我須要強大的css可以提供一個能夠選擇除了本身以外的全部兄弟選擇器, 使用起來也是是這樣的格式 —— li {某個符號} li { color: red }html

可是理想很豐滿,現實很骨幹啊,你說氣不氣。code

因而,機制的我採用了一個相對噁心的辦法。htm

先經過li的父級,好比 ul 整個hover時,把全部li的樣式改成{ color:red } ,而後再經過某個li本身hover時,給本身加一個特別的樣式,好比li:hover { color: green }get

這麼玩的話,就能夠實現我須要只有本身最特別(是綠的),其餘兄弟全都是一個鳥樣。哈哈。。io

上!demo!!!class

<ul>
  <li>我是第一</li>
  <li>我是第二</li>
  <li>我是第三</li>
</ul>
ul {
  &:hover {
    li {
      color: red;
    }
  }

  li {
    &:hover {
      color: green;
    }
  }
}

這裏是demo的連接https://codepen.io/lsner/pen/MQxBVWdemo

相關文章
相關標籤/搜索