2017-05-18 40 views
0

我有一個遞歸結構是這樣的:CSS:如何打破遞歸時懸停

.comment 
    .comment-delete 
    .comment-replies 
    .comment 
     .comment-delete 
     .comment-replies 
      ... 

其中.comment-delete在可見性隱藏。我希望.comment-delete在懸停.comment時可見,但在懸停較低級別.comment時,頂級.comment-delete仍可見。

我想懸停.comment,只有其下一個.comment-delete可見,而不是任何更高級別.comment-delete

問題在於徘徊在第二級.comment =徘徊在第一級.comment

我不能把:懸停在其他任何東西,但.comment

問題是如何讓它懸停在第二層的.comment只會留下第二層評論的評論 - 刪除可見,而不是第一級評論的刪除按鈕?

Fiddle

.comment { 
 
    
 
} 
 
.comment-replies { 
 
    padding-left: 20px 
 
} 
 
.comment-delete { 
 
    display: inline-block; 
 
    width:10px; 
 
    height:10px; 
 
    background: red; 
 
    visibility: hidden; 
 
} 
 

 
.comment:hover >.comment-delete { 
 
    visibility: visible; 
 
}
<div class="comment"> 
 
    1st level comment 
 
    <div class="comment-delete"></div> 
 
    <div class="comment-replies"> 
 
     <div class="comment"> 
 
      2nd level comment 
 
      <div class="comment-delete"></div> 
 
      <div class="comment-replies"></div> 
 
     </div> 
 
    </div> 
 
</div>

+0

請不要鏈接到你的代碼。張貼在這裏。 –

+1

正如你所說的,「懸停在二級評論上意味着懸停在一級評論上」。你可能需要一個JS解決方案來代替CSS--你可以嗎? – andi

+0

@andi我寧願不這樣做。我正在考慮其中一些:不是:小孩操作員可能會提供幫助。我正在測試一些東西。 – Zetoooo

回答

1

我會忘記試圖角力的CSS或JS得到這個工作,只是構建您的標記不同。事情是這樣的:

.comment { 
 
    
 
} 
 
.comment-replies { 
 
    padding-left: 20px 
 
} 
 
.comment-delete { 
 
    display: inline-block; 
 
    width:10px; 
 
    height:10px; 
 
    background: red; 
 
    visibility: hidden; 
 
} 
 

 
.comment-body:hover >.comment-delete { 
 
    visibility: visible; 
 
}
<div class="comment"> 
 
    <div class="comment-body"> 
 
    1st level comment 
 
    <div class="comment-delete"></div> 
 
    </div> 
 
    <div class="comment-replies"> 
 
    <div class="comment"> 
 
     <div class="comment-body"> 
 
     2nd level comment 
 
     <div class="comment-delete"></div> 
 
     </div> 
 
     <div class="comment-replies"></div> 
 
    </div> 
 
    </div> 
 
</div>

+0

我的確想到了這一點,如果沒有css魔法可以完成,我可能會這樣做。這是一個我多次碰到的問題,一個快速的css修復會比重寫我這樣寫的一些結構(我確信很多人也有這個結構)更有幫助。儘管如此,謝謝! 我忘了說它也打破了一些CSS語句,所以我想避免這種情況。 – Zetoooo