2016-04-08 56 views
-1

所以我有一個HTML的結構是這樣的孩子:SCSS選擇,我可以得到一個榆樹在父

<g> 
    <text></text> 
</g> 
<g> 
    <g> 
     <path></path> 
    </g> 
    <g> 
     <text></text> 
    </g> 
</g> 

而且我想psudeo後更改文本元素的CSS:從路徑徘徊,我可以用SCSS以某種方式瞄準這個嗎?這裏是我有這樣的:

g{ 
    path{ 
    &:hover { 
     && + g{ 
      text{ 
       opacity: 1.0 !important; 
       filter: alpha(opacity=100) !important; 

所以我只是想從路徑標記css抓g邊標籤,這可能嗎?

+0

Perphaps這可以幫助你:https://css-tricks.com/child-and-sibling-selectors/ – Boratzan

+0

'文本'不能受最後的兄弟姐妹或後代......你不能去影響備份DOM。 –

+0

除非你有一個Sass-> CSS編譯問題,**只發布編譯後的CSS **。 – cimmanon

回答

2

在CSS中,您無法通過子元素上的特定操作來處理父項......因爲SASS只生成CSS,所以也不可能。

的溶液可以是把文本元素中的每個路徑元素(或克元件包含路徑),然後,以寫:

HTML:

<g> 
    <g> 
     <path> 
      <text></text> 
     </path> 
    </g> 
</g> 

SCSS:

g { 
    g:hover > path > text { 
     color: #FFF; 
    } 
} 

如果您不想修改HTML結構,並且想要從子項的懸停僞選擇器修改父元素的樣式,則應該使用Javascript或Javascript框架/庫(li ke jQuery,Angular,React,...)。