Mam kolekcję zagnieżdżonych komentarzy. Moim celem jest wyświetlenie opcji "odpowiedz" po umieszczeniu każdego komentarza osobno. Oznacza to, że nie chcę, aby opcja "odpowiedź" pojawiała się dla nadrzędnego/siostrzanego/dzieci komentarza, nad którym zawieszam.Zaznaczanie tylko natychmiast osnujonego elementu w CSS dla elementów zagnieżdżonych
Jedyne podobne pytanie, które znalazłem to: Can I control CSS selection for :hover on nested elements? Nie jestem nawet pewien, czy jego potrzeby są takie same, a ponadto, że skrzypce nie działają.
Przygotowałem fiddle więc lepiej zobaczyć, co mam na myśli:
.comment {
padding: 10px;
border: 1px solid black;
margin-top: 10px;
}
.text {} .comment:hover > .reply {
display: inline-block;
}
.reply {
display: none;
}
.children-comments {
margin-left: 50px;
margin-top: 10px;
}
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
</div>
</div>
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
</div>
</div>
</div>
</div>
</div>
</div>
<div class="comment">
<a class="text">wohoo</a>
<a class="reply">reply</a>
<div class="children-comments">
</div>
</div>
</div>
</div>
Zauważ, że używając >
w selektor działa ignorowania elementy rodzeństwo, ale nadal wybiera rodzica elementy. Innymi słowy, bez względu na to, który komentarz zostanie najechany, rodzic z nich wszystkich zawsze pokaże opcję "odpowiedź".
Czy można to zrobić tylko przy użyciu CSS? Jestem otwarty na rozwiązania js, ale byłbym bardziej niż szczęśliwy, gdyby istniało tylko rozwiązanie CSS.
Zrobione, nie chciałem zaśmiecać pytania bezużytecznym szablonem, ale punkt ood :) – mezod
Nadal możesz to zrobić. Po prostu użyj urywków i zaznacz domyślnie opcję ukryj. W ten sposób twój kod będzie kwestionowany, a wzorzec nie pojawi się, dopóki nie zostanie rozwinięty :) – Harry