kniffliger hover effect
Michael M.
- css
Hallo,
gibt es einen Weg, wie man mit css nur das aktuelle element unter dem mauszeiger mit css im erscheinungsbild aendern kann. Ich wollte einfach das element umrahmen ueber dem sich gerade der mauszeiger befindet. Also dachte ich mir es musste so etwas tun: *:hover {border: 1px solid red;}
Aber da werden alle elemente umrahmt, die mit dem mauszeiger "ueberfahren" werden, also auch dem einzelnen element umliegenden element. Gibt es eine Moeglichkeit nur das aktuell unterlegt element mit css zu beschreiben?
Waere sehr dankbar fuer Hilfe.
Hi,
gibt es einen Weg, wie man mit css nur das aktuelle element unter dem mauszeiger mit css im erscheinungsbild aendern kann. Ich wollte einfach das element umrahmen ueber dem sich gerade der mauszeiger befindet. Also dachte ich mir es musste so etwas tun: *:hover {border: 1px solid red;}
Aber da werden alle elemente umrahmt, die mit dem mauszeiger "ueberfahren" werden, also auch dem einzelnen element umliegenden element. Gibt es eine Moeglichkeit nur das aktuell unterlegt element mit css zu beschreiben?
Vermutlich nicht.
Mit CSS ist es m.W. nicht möglich, ein Element anhand seiner Nachfahren zu selektieren - Du willst im Grunde das Element selektieren, für das :hover gilt und für das es kein Nachfahrenelement gibt, für das auch :hover gilt.
cu,
Andreas
Om nah hoo pez nyeetz, Michael M.!
Möglicherweise leistet *:hover:target das Gewünschte.
Das bedeutet jedoch jede Menge zusätzliche Linkelemente, die auf sich selbst verweisen und ist somit keine optimale Lösung.
Auch eine suboptimale, weil aufwändige Lösung wäre, den gewünschten Elementen eine ID zu verpassen und sie im CSS explizit anzusprechen.
Matthias
Hi,
_Möglicherweise_ leistet *:hover:target das Gewünschte.
Das bedeutet jedoch jede Menge zusätzliche Linkelemente, die auf sich selbst verweisen und ist somit keine optimale Lösung.
Wie soll das helfen? :target würde ja erst gelten, nachdem die Links auch angeklickt wurden.
cu,
Andreas
Om nah hoo pez nyeetz, MudGuard!
Wie soll das helfen? :target würde ja erst gelten, nachdem die Links auch angeklickt wurden.
korrekt, hab ich übersehen. Dennoch bleibt :target eine Möglichkeit über Verwandtschaft im Sinne des DOM hinweg zu selektieren.
Matthias
Om nah hoo pez nyeetz, apsel!
Auch eine suboptimale, weil aufwändige Lösung wäre, den gewünschten Elementen eine ID zu verpassen und sie im CSS explizit anzusprechen.
eine Klasse tuts auch.
Matthias
@@apsel:
nuqneH
Auch eine suboptimale, weil aufwändige Lösung wäre, den gewünschten Elementen eine ID zu verpassen und sie im CSS explizit anzusprechen.
Die Lösung ist nicht suboptimal, sondern keine.
So wie ich es verstanden habe, soll bei <p>foo <em>bar</em> baz<p>
die 'p'-Box den Rahmen haben, wenn man mit dem Mauscursor über "foo " oder " baz" ist; nicht aber, wenn man über "bar" ist, sondern dann nur die 'em'-Box. Das ist auch über IDs nicht zu erreichen, AFAIS.
Qapla'
Grüße,
ist es für "enduser" oder nur für dich in der entwicklungsphase?
im letzteren Fall gibt es sehr einfache Lösung.
MFG
bleicher
Es muss leider fuer enduser sein,
sonst koennte ich auch ein einfaches javascript nehmen, es sollte lieber css basiert sein, firefox 3.5 und hoeher wuerden ausreichen. Firefox hat auch ein paar netter Zusatzerweiterungen hinsichtlich css pseudo-elementen , aber entwerder ich habe noch nicht die richtige Kombination oder es ist schlicht unmoeglich ;-(
https://developer.mozilla.org/en/CSS_Reference
https://developer.mozilla.org/en/CSS_Reference/Mozilla_Extensions
Grüße,
ist es für "enduser" oder nur für dich in der entwicklungsphase?
im letzteren Fall gibt es sehr einfache Lösung.
MFG
bleicher
@@Michael M.:
nuqneH
oder es ist schlicht unmoeglich ;-(
Nichts ist unmöglich – Firebug!
Wie der das schafft, hab ich aber auch noch nicht rausbekommen. Is there only XUL?
Qapla'
Nun ja,
Firebug wird es wahrscheinlich ueber priviligiertes javascript loesen mit einem einfachen eventListener. Ich wollte aber eher auf eine css Loesung setzten, da nicht unbedingt alles mit script geloest werden muss.
Wie der das schafft, hab ich aber auch noch nicht rausbekommen.
Habe mal kurz nachgeschaut, wie vermutet:
addEventListener("mouseover",.... )
addEventListener("mousedown",.... )