Dobra, czy jest tu jakiś magik od #htmla i #css ? Potrzebna mi #FediPomoc !

Próbuję sobie ostylować domyślny wygląd webowy #Mastodon i o ile w przypadku odpowiedzi na posty - sobie poradziłem, tak za cholerę nie mogę odnaleźć klasy, która odpowiadałaby za podbicia.

Albo coś mnie zaślepiło, albo treść podbicia nie jest zamknięta w żadnej klasie?

@mason Po pobieżnym przejrzeniu, jedyne co widzę wyróżniającego, to ikonka z font awsome. Musiałbyś sprawdzać, czy w article jest fa-retweet, żeby ostylować.

@LukaszHorodecki - tak, też zauważyłem to, więc sobie zmieniłem tekst o podbiciu na czerwony.

Natomiast wyszukiwania fa-retweet chyba nie jestem w stanie rozwiązać za pomocą samego css w Stylusie.

@mason Tak na szybko, to możesz spróbować z:
:has(i.fa-retweet)
lub
:nth-child

ale nie sprawdzałem.
@LukaszHorodecki

@m0bi13 - Firefox poprzez Stylusa chyba nie obsługuje tych pseudoklas.
@mason @m0bi13 Zgadza się, Firefox nie ma obsługi :has(). Chyba jako jedyna z głównych przeglądarek.

@LukaszHorodecki@mastodon dużo tych przeglądarek nie ma. Dwie - Firefox i Chromium* ;D

_____________
* tak, tak, wiem, wiem.

@LukaszHorodecki @mason

"From version 103: this feature is behind the layout.css.has-selector.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config."

https://developer.mozilla.org/en-US/docs/Web/CSS/:has

:has() - CSS: Cascading Style Sheets | MDN

The functional :has() CSS pseudo-class represents an element if any of the relative selectors that are passed as an argument match at least one element when anchored against this element. This pseudo-class presents a way of selecting a parent element or a previous sibling element with respect to a reference element by taking a relative selector list as an argument.

MDN Web Docs
@LukaszHorodecki @mason Sprawdziłem na obecnej wersji 112.0.2 - nadal trzeba sobie włączyć. Nie mam pojęcia, dlaczego Mozilla tak się z tym upiera...
@m0bi13 @mason Może hobby takie mają? I dzięki za podpowiedź, nie wiedziałem, że jest włączenie schowane w opcjach :)

@LukaszHorodecki @m0bi13

No, też się zdziwiłem :) Dzięki!

Tak na szybko, bo z psem idę na spacer: z tym jest jeden problem:

div.status:has(i.fa-retweet) {background: #fa0;}

Każdy post ma pod spodem tą ikonkę :D

@mason A jak byś pokombinował z:
status__prepend
?
@LukaszHorodecki

@m0bi13 @LukaszHorodecki

Próbuję właśnie, ale coś źle rozumiem lub źle zrobiłem:

div.status__wrapper div.status__prepend-icon-wrapper:has(i.fa-retweet) {background: #fa0

Koloruje mi tylko diva z ikoną, a nie ze statusem.

EDIT: zagnieżdżenie podwójnego has zadziałało! WIELKIE DZIĘKI!

div.status__wrapper:has(div.status__prepend-icon-wrapper:has(i.fa-retweet)) {margin-left: 20px; background: #fa0;}

EDIT2: niestety, taki sposób stylowania raz działa, raz nie działa po kilku przewinięciach. Chyba przez jakąś formę lazy loadingu :(

@m0bi13 @mason To mam hipotezę w temacie powodu ukrycia :has() w Firefoksie: ich implementacja jest niedorobiona.

Po włączeniu obsługi w opcjach Phanpy, który używa :has() do grupowania boostów, zamiera po otworzeniu i zamknięciu modala. W innych przeglądarkach działa.

@LukaszHorodecki - w Phanpy u mnie grupowanie boostów działało i bez włączenia :has. Po kilku testach teraz nie zauważyłem tam problemu.

Ale na pewno ta pseudoklasa zachowuje się nieprzewidywalnie. U mnie raz działa, raz nie . Jak zobaczę, że nie ostylowała mi jakiegoś boosta i kliknę "zbadaj", to styl się "włącza" i jest okej.

Zdecydowanie przydałoby się, żeby deweloperzy Mastodona zamknęli boosty w jakimś divie z klasą, bo w cytatach działa to idealnie, natomiast konieczność stosowania :has na tego typu stronach jak Mastodon czy Phanpy jest bezsensownym marnowaniem zasobów.

@m0bi13

@mason @m0bi13 Porównaj karuzele boostów w przeglądarce z :has() i bez.

https://mastodon.social/@LukaszHorodecki/110142739141380434

@LukaszHorodecki

Dopiero po chwili zrozumiałem różnicę. Bardziej mi się podoba wersja, gdzie karuzela nie wychodzi poza szerokość kolumny :D

@m0bi13

@mason
Ej @m0bi13 zachodzi we mnie przypuszczenie, że możesz pomóc?