Problem mit :focus und :hover im IE.

Status
Nicht offen für weitere Antworten.

soyo

Erfahrenes Mitglied
Huhu,


Hab eben meine Seite mal mit dem IE getestet.

:focus-und :hover-Klassen futnkionieren nicht. Darauf hin hab ich etwas gegoogelt: Ich hab 2 .htc-Dateien gefunden. Nun sieht meine CSSDef. für Eingabe-und Textfelder ungefähr so aus :

HTML:
input:focus, textarea:focus {
  background-color: #FFECDE;
  border-left: 2px dotted #F04B15;
  border-right: 2px dotted #F04B15;
  color: #F04B15;
  behavior:url('_focus.htc');
}

... hover hab ich noch nicht probiert, da dies anscheinend noch nicht einmal funtkioniert. Was hab ich falsch gemacht?

gruß soyo

Nachtrag

Hab jetzt eine Lösung mit expression, diese funtkioniert auch. Ich gehe auch von aus das die Lösung über die .htc-Datei auch funtkioniert, da ich mich damit aber nich auskenne, mach ich bestimmt was falsch. Also noch eine Frage: Welche Lösung empfehl ihr?
 
Zuletzt bearbeitet:
Da der Internet Explorer diese Selektoren nicht kennt beziehungsweise nur bei bestimmten Elementen zulässt, ist diese Nachbesserung nur sinnvoll. Und für den Internet Explorer sind die HTC-Skripte hervorragend geeignet. Die anderen Browser werden die behavior-Eigenschaft und damit auch das HTC-Skript einfach ignorieren.
 
So hab ich das auch rausgelesen. Mein Problem ist nur : Mit den HTC-Script funktioniert es nicht, bzw. ich stell mich zu doof an. Kennst du eine gute Seite, die sich mit den Umgang solcher Scripte beschäftigt? Ich such gerade schon bei Google, aber wie so oft hab ich noch nich brauchbares gefunden.

Und was spricht gegen die Lösung mit den CSSExpressions?
 
Hier mal ein alternativer Lösungsvorschlag:

Code:
input.normal, textarea.normal { /* CSS-Formatierungen */ }

input.hover, textarea.hover { /* CSS-Formatierungen */ }
HTML:
<form>
      <input type="text" class="normal" onmouseover="this.className='hover'" onmouseout="this.className='normal'">
      <textarea class="normal" onfocus="this.className='hover'" onblur="this.className='normal'"></textarea>
</form>
 
So in etwa habe ich das früher geIöst(nur mit onFocus und onBlur), aber ich möchte nun nicht mehr von JS abhängig sein. Trozdem danke.
 
Also wär die Sache mit den CSSExpressions, die einzige Möglichkeit für mich ohne JavaScript zu nutzen?
 
Von welchen CSS-Expressions sprichst Du in diesem Zusammenhang?

Meines Wissens wird darin in der Regel auch Javascript notiert.

Und ohne Javascript wirst Du dem IE nicht unter die Arme greifen können.
 
Ich frage mich gerade, ob das HTC-Skript trotz deaktiviertem JavaScript ausgeführt wird. Könnte das mal bitte jemand testen.
Das Pseudo-CSS-Expression-Konstrukt arbeitet wohl auch mit JavaScript. Auch hier wäre es interessant, ob es trotz deaktiviertem JavaScript funktioniert.
 
Die CSS-Expressions funktionieren nicht mehr ohne aktiviertem JavaScript. Da is das mit dem HTC-Script nicht zum laufen gebracht habe, konnte ich das leider nicht testen.
Aber wer hatt heut schon JavaScript deaktiviert? Das wär aber ein anderes Thema.

Ich werd jetzt bei den CSS-Expressions bleiben, da ich jetzt keinerlei Vor-/Nachtteil bei beiden Lösungen sehe.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück