Seite 1 von 2

CSS: Hover ohne Link

Verfasst: 14.05.2006, 18:33
von mcchaos
Hallo!

Gibt es eine Möglichkeit per CSS bei einen Text, der in einem <div> steckt, beim Maus-Hovern einem anderen Hintergrund dazustellen?

.className:hover {background-color:#123456;} scheint nur bei Links zu funktionieren, der Text ist aber nur Text und nicht verlinkt.

Per JavaScript sollte es gehen, würde aber eine Lösung per CSS bevorzugen.

Verfasst:
von

Verfasst: 14.05.2006, 19:05
von Southmedia
Normaler Weise wird :hover für Hyperlinks eingesetzt, laut der W3C-Spezifikation ist diese Eigenschaft aber für alle Elemente zugelassen und so kannst du Mouseover-Effekte z.B. auch für Formularfelder, Tabellenzellen und <div>-Container definieren. Leider unterstützen Opera und der Internet Explorer bis zur Version 6 :hover nur für <a>-Tags.
https://www.css4you.de/hover.html

Verfasst: 15.05.2006, 08:33
von mcchaos
Danke für die Antwort. Irgendwie stehe ich total auf dem Schlauch, denn danach müßte es zumindest im FF ja gehen, oder?

.FrontBox {border-color:#000000;border-width:1px;border-style:solid;padding:2px;}
.FrontBox:hover {background-color:#808080;}

<div class="FrontBox">Das ist der Text, aber es tut sich nix im Firefox 1.5.0.3</div>

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 15.05.2006, 09:06
von spickzettel
Versuch's mal mit:

Code: Alles auswählen

div.FrontBox&#58;hover &#123;background-color&#58;#808080;&#125;
:D

Verfasst: 15.05.2006, 09:36
von mcchaos
Danke, damit gehts. Ich wollte den Style aber auch gerne z.B. für <td> verwenden. Wieso muß denn hier das div. davor?

Verfasst: 15.05.2006, 12:37
von MonikaTS
weil sich die Antwort von spickzettel13 auf Dein Beispiel stützt;)
table td.FrontBox:hover
tfoot.FrontBox:hover

.....

lg

Verfasst: 15.05.2006, 12:48
von mcchaos
@einfach: Ja, schon :wink:

Aber sonst kann ich doch mittels

.FrontBox

diese Klasse mit JEDEM Tag verwenden (siehe z.B. auch https://www.css4you.de/wscss/css03.html Da vor dem Punkt kein Tag angegeben ist, können diese Klassen in jedem Tag verwendet werden.). Das funktioniert auch z.B. mit Text- und Hintergrundfarbe, aber eben nicht mit hover.

Wieso funktioniert also:
div.FrontBox:hover

und wieso funktioniert nicht:
.FrontBox:hover

Verfasst: 15.05.2006, 12:55
von Graccem
Wenn du den hover-Effekt auch für die anderen Browser haben möchtest, dann musst du auf JS zusätzlich zurückgreifen.

<script language="JavaScript" type="text/JavaScript">
function switchClass(obj,strClassName) {
obj.className = strClassName;
}
</script>

<tr class="trnohover" onmouseover="switchClass(this,'trhover');" onmouseout="switchClass(this,'trnohover');">

Verfasst: 15.05.2006, 13:58
von MonikaTS
mcchaos hat geschrieben:@einfach: Ja, schon :wink:

Aber sonst kann ich doch mittels

.FrontBox

diese Klasse mit JEDEM Tag verwenden (siehe z.B. auch https://www.css4you.de/wscss/css03.html Da vor dem Punkt kein Tag angegeben ist, können diese Klassen in jedem Tag verwendet werden.). Das funktioniert auch z.B. mit Text- und Hintergrundfarbe, aber eben nicht mit hover.

Wieso funktioniert also:
div.FrontBox:hover

und wieso funktioniert nicht:
.FrontBox:hover
hover ist eine Pseudoklasse eines Selektors und nicht die Pseudoclass einer class,

daher gehorcht hover nur einen Selector und nicht einer class
alles eine Frage der Hierarchie ;)

lg

Verfasst: 15.05.2006, 20:45
von mcchaos
@einfach: Danke für die Antwort! Aber hat diese (in meinen Augen) Einschränkung dieser Hierarchie einen tieferen Sinn?

Verfasst: 16.05.2006, 00:27
von MonikaTS
ooooops==>einfache Fragen hast Du nicht, wenn der Tag lang ist ... :o

also:

p, a, h1-h6, div span, table etc... sind festgelegt.
soweit ein Browser irgendeine Chance haben mag, werden die Programmierer achten, dass er dies versteht,
dann weiß der Browser noch, dass es da wo 'andere 'Angaben gibt =Cascading StyleSheets, die er auch lesen können soll,
dann kann man den Browser noch zwingen manches zu verstehen (javascript) etc..


welchen Namen Du aber einer class einer ID gibst, das weiß kein Programmierer auf der Welt,
damit das ganze nicht aus dem Lot gerät (IE!) und damit so (arme) WebDesigner wie ich auch noch gedanklich in der Welt der 'ein und aus Schalter' mitkommen,
haben sich kluge (männliche) Köpfe Regeln überlegt:

eine ID schlägt eine class,
was direkt im Quelltext steht , trickst aber auch eine ID aus.

"Wie der Herr so's Gscherr"
hat eine ID eine blaue Farbe, haben auch die Untertanen (class und andere Elemente) eine blaue Farbe, bis man es anders bestimmt.

Jede Herrschaft hat Liebkinder:

eine Überschrift mit der Zuordnung:
#kaiser h2

kann einzigartig sein, während alle anderen h2 das gemeine Volk sind.

Jetzt gibt es dann eben diese Pseudoklassen in der Welt der Hierarchie:
Sie sind eben nur 'Pseudo' und nichts 'Wirkliches'.
Ohne Anhängsel an was fix Vordefiniertes sind sie nicht wirksam

Frei nach dem Motto: Was tun Studentenunruhen, wenn es keine Herrschaft gibt?

Ob Dir dies den tieferen Sinn erklärt vermag ich nicht zu sagen, aber so habe ich das Ganze zumindest soweit verstanden, um mit den Spielregeln (lustvoll) spielen zu können.

Unabhängig davon:
ich käm nie auf den Gedanken im Quelltext Großund Kleinbuchstaben zu verwenden,
dauert erstens beim Tippen viel länger und erhöht die Gefahr des Vertippens immens.

einfach,
die sich jetzt voll inline floatend in eine horizontale K(L)iste legt und dort ruht bis die ID="Wecker" wieder voll hierarchisch zuschlägt


:wink:

Verfasst: 16.05.2006, 07:54
von mcchaos
Danke für die Erklärung :wink:

Verfasst: 16.05.2006, 08:45
von tank
Wenn Webdesigner philosophisch werden...
Wirklisch schön auf den Punkt gebracht... :P

einfach einfach von einfach.

Verfasst: 16.05.2006, 11:44
von MonikaTS
:oops:
Danke für die Rückmeldung

mcchaos gern geschehen
:Fade-color

Verfasst: 19.05.2006, 00:31
von Lionmaster
@ einfach:

das war die schönste Erklärung, die ich jemals zu diesem Thema gelesen habe!!

:)