Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: qelurg 27. 07. 2020, 13:27:42

Název: CSS selektor podle následujícího elementu
Přispěvatel: qelurg 27. 07. 2020, 13:27:42
Jak mám pomocí CSS vybrat element podle toho, jaký za ním následuje další element? Konkrétně bych chtěl ostylovat všechny P (zrušit spodní margin) za kterými následuje UL nebo OL. Děkuji.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: Google CTCCTCGGCGGGCACGTAG 27. 07. 2020, 14:03:23
Tohle v cistem css nejde, asi nejjednodussi reseni je pridat tem predchudcum tridu javascriptem.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: Filip Jirsák 27. 07. 2020, 14:17:55
Na tohle CSS selektor nemá. Záleží na struktuře dokumentu, možná by vám mohlo pomoci :last-of-type.

Případně můžete prasácky ul a ol, které následuje po p, nastavit záporný okraj.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: naked and petrified 27. 07. 2020, 14:25:34
CSS nemá zpětné reference - tedy stylovat žádné "předchozí" elementy. Možná pomohou nějaké first-*, last-* nebo only. Nebo se nabízí popřesouvat onen rušivý styling na následující elementy, kde ho pak bez problémů změnit lze.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: BoneFlute 27. 07. 2020, 17:33:12
By mě zajímalo, zda to byl záměr, nebo se to jen stalo.

Protože to trochu připomíná law of demeter. Když mám strom komponent, tak se mi taky osvědčilo, aby komponenta neviděla do předka, ale jen potomkům.

Jen taková úvaha.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: listoper 27. 07. 2020, 21:47:19
By mě zajímalo, zda to byl záměr, nebo se to jen stalo.

Protože to trochu připomíná law of demeter. Když mám strom komponent, tak se mi taky osvědčilo, aby komponenta neviděla do předka, ale jen potomkům.

Jen taková úvaha.

Myslel bych, ze je to tim, ze kdyz se dostanu na nasledujici element tak ten predchozi uz je "vykresleny". Takze nejake zjednoduseni implementace kvuli linearnimu zpracovani.
Nicmene nechapu tu analogii se stromem komponent. Myslel sem, ze tady se mluvi o "sourozencich" a ne predcich a potomcich.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: Filip Jirsák 27. 07. 2020, 22:18:35
Protože to trochu připomíná law of demeter. Když mám strom komponent, tak se mi taky osvědčilo, aby komponenta neviděla do předka, ale jen potomkům.
Tady je to přesně naopak, uzel ve stromu nevidí „dopředu“ – potomky a následovníky (teda s výjimkou :last-*, tam trochu dopředu vidí). Minimálně jeden důvod je zřejmý – není nutné čekat, co bude, ale známou část stromu je možné vykreslovat rovnou.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: BoneFlute 27. 07. 2020, 22:45:49
Myslel sem, ze tady se mluvi o "sourozencich" a ne predcich a potomcich.

Sorry za nepřesné vyjádření. Mnou zmiňované omezení se týká i sourozenců. Komponenta může přistupovat jen ke svému vnitřku. A hlavně mi šlo i to, že to omezení v případě komponent je ideové (technicky není problém tam hodit parenta), a tak jsem uvažoval nad tím, zda návrháři css neměli na mysli taky něco takového.
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: listoper 27. 07. 2020, 23:26:22
Myslel sem, ze tady se mluvi o "sourozencich" a ne predcich a potomcich.

Sorry za nepřesné vyjádření. Mnou zmiňované omezení se týká i sourozenců. Komponenta může přistupovat jen ke svému vnitřku. A hlavně mi šlo i to, že to omezení v případě komponent je ideové (technicky není problém tam hodit parenta), a tak jsem uvažoval nad tím, zda návrháři css neměli na mysli taky něco takového.

Rozumim a myslim, ze spis ne. Ale ruku do ohne za to nedam. Predpokladam, ze jde fakt o to "kupredu leva, zpatky ni krok".
Jestli si dobre vzpominam tak treba TeX to resi nekolika pruchody. Pri kazdem generuje krome ciloveho dokumentu taky nejaky metadata pro pristi pruchod. Takze jede porad jen od shora dolu a dokument je cim dal tim hezci a hezci....
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: BoneFlute 27. 07. 2020, 23:41:26
Myslel sem, ze tady se mluvi o "sourozencich" a ne predcich a potomcich.

Sorry za nepřesné vyjádření. Mnou zmiňované omezení se týká i sourozenců. Komponenta může přistupovat jen ke svému vnitřku. A hlavně mi šlo i to, že to omezení v případě komponent je ideové (technicky není problém tam hodit parenta), a tak jsem uvažoval nad tím, zda návrháři css neměli na mysli taky něco takového.

Rozumim a myslim, ze spis ne. Ale ruku do ohne za to nedam. Predpokladam, ze jde fakt o to "kupredu leva, zpatky ni krok".
Jestli si dobre vzpominam tak treba TeX to resi nekolika pruchody. Pri kazdem generuje krome ciloveho dokumentu taky nejaky metadata pro pristi pruchod. Takze jede porad jen od shora dolu a dokument je cim dal tim hezci a hezci....

OK :-)
Název: Re:CSS selektor podle následujícího elementu
Přispěvatel: qelurg 28. 07. 2020, 06:57:51
Tohle v cistem css nejde, asi nejjednodussi reseni je pridat tem predchudcum tridu javascriptem.
Do toho html zasahovat nemuzu, jde o automaticky generovane html dokumenty, jedine co mohu je zmenit css sablonu. Co jsem dohledal, tak level 4 to asi bude resit pres :has(), jenze kdo vi, kdy bude implementovan,  napsany to bylo 2018. Doufal jsem v nejake nestandardni proprietarni reseni.