Autor Zpráva
Matthew
Profil
Ahojte, mám otázku, je možné cez CSS alebo JS urobiť, aby sa riadok textu, ponad ktorý prejdem myšou zvýraznil (zmena farby pozadia).
Napr. mám <p></p>, ktorý má 5 riadkov, a keď prejdem ponad riadok, tak sa celému riadku zmení pozadie z bieleho na žlté.
Absolútne netuším, či sa niečo také dá urobiť, ale ak by sa to dalo, tak by ste mi veľmi pomohli.
Ďakujem
Casero
Profil
Matthew
Ano mělo by to jít přes JS...ale myslím, že bys to musel mít po řádkách, třeba v spanu...a zaroven by u toho spanu byla udalost onmousemove(tak změn styl pozadí na co chceš)
habendorf
Profil
Casero: onmousemove? onmouseover

Jinak pro rozumné prohlížeče stačí hover.
Matthew
Profil
habendorf presne tak...
problém je ale v tom, ze šírka riadku resp. počet znakov je neznámy, takýe rozdeľovať odstavec do spanov neprichádza do úvahy. A to je ten problém. Keby som vedel šírku riadku, tak je to otázka 10 minút spojazdniť
Casero
Profil
habendorf
Jaký je vlastně mezi nimi rozdíl??...pohybovat x přejíždět = totéž??
habendorf
Profil
Jaký je vlastně mezi nimi rozdíl??...pohybovat x přejíždět = totéž??

IMHO když najedeš nad prvek a myš se nebude hýbat, tak k onmousemove nedojde.
habendorf
Profil
Matthew: To nebude jednoduchý z toho důvodu, že nemáš čemu to pozadí změnit. Netvrdím, že je to nemožné, ale rozhodně to nebude nic triviálního.
Timy
Profil
Já bych teda spíš viděl prblém v tom, najít ten jeden řádek...

//edit: trošku pozdě...
habendorf
Profil
Už vím jak na to. Ale má to háček, fungovalo by to jen do té chvíle, než by si uživatel změnil velikost písma v prohlížeči.
Matthew
Profil
habendorf no to som zvedavý, ako by sa to dalo... :-)
Casero
Profil
habendorf
Zde je použit onmousemove http://podklady.interval.cz/steinbauer/1215/ukazka.htm a i při zastavení myši to funguje, takže se to rovná?? :-D
habendorf
Profil
No především říkám dopředu, že je to prasečina :o)

1) podle font-size a line-height si vytvořit proužek (obrázek) 1 x n pixelů
2) odstavci dát background: proužek repeat-x 0 -n (mínus n)
3) odchytávat polohu myši nad odstavcem
4) pokud y-souřadice myši je v intervalu 0 až n, dát odstavci background: proužek repeat-x 0 0, pokud je v intervalu n+1 až 2n, dát odstavci background: proužek repeat-x 0 n+1 atd.

No prostě divočina.
habendorf
Profil
Jinak ty intervaly by se samozřejmě vypočítávali přes zbytek po dělení y-souřadnice číslem n, takže ta polha pozadí by se nastavovala jen jednou pomocí proměnné.
habendorf
Profil
Tak mi to nějak nedalo.

http://pokusy.1-webdesign.cz/hover-radku/

Nakonec jsem to udělal ještě jinak, viz kód. Chtělo by to ještě doučesat, např. nějaký onmouseout. Teď je to takový syrový, ale princip je z toho jasný. Ty divy class="row" by šly generovat scriptem podle předem zjištěné výšky textu, takže by se to dalo komplet zautomatizovat.

Jinak kdyby někdo špekuloval proč je na row ta šílená font-size:5000px, tak je to proto, že se mi jinak nepodařilo přesvědčit IE, aby bral onmouseover nad prázdným elementem (byť má element rozměry, onmouseover bral IE pouze nad obsahem, nikoliv celým elementem).

Fachá to v IE, FF i Opeře. Když někdo vyzkouší Safari, případně další browsery, budu rád.
Chamurappi
Profil
Bylo by fajn, kdyby v CSS existoval pseudoelement :line, který by vybíral jednotlivé řádkové boxy uvnitř blokových elementů. Jednak by v kombinaci s :hoverem řešil tuto ozdobu a jednak by pak ve spojení s :nth-child() pseudotřídou v CSS 3 dokázal zázraky (kdyby považovala pseudoelementy za potomky, což myslím nyní nepovažuje). Ale implementovat to do prohlížeče by se mi určitě nechtělo :-)

Reaguji na habendorfa:
Pěkné. Mohlo by to být i částečně odolné proti změnám velikosti písma, kdybys výšku řádků (+ podbarvovacích <div>ů) zadal v em jednotkách a nastavoval background-position také v násobcích té výšky také v em jednotkách.
habendorf
Profil
Chamurappi: Co se týče em, napadlo mě to. Ale jak správně píšeš, bylo by to jen částečně a oba víme proč :o)
Bubák
Profil
habendorf
Když někdo vyzkouší Safari, případně další browsery, budu rád.
Také v Konqueroru ti to chodí. Otestoval jsem ve verzi 3.5.2.
Matthew
Profil
Ďakujem všetkým zúčastneným za príspevky, nečakal som takú aktivitu:-)
Predbežne sa asi podarilo nájsť riešenie, ak by ste nebodaj mali nejaké vylepšenia, neváhajte a píšte...
Ešte raz díky
Toto téma je uzamčeno. Odpověď nelze zaslat.