|
|||
Workaround für :target im IE
Hallo
Ich möchte Aufklapptexte ohne JavaScript erstellen. Hierzu bediene ich mich der Technik der CSS-Popups. (bitte JS deaktivieren wg Schrottwerbung) CSS-PopUp bei MouseOver und Klick Das klappt soweit im Firefox, im IE ist es auch einigermaßen akzeptabel, nur bei Safari und Chrome wird der Aufklapptext nur solange gehalten, wie man die Maustaste über dem Link gedrückt hält, bzw über dem Link hovert. Mit :target bekommt man das nun in den Griff, mit Ausnahme des IE: :target für alle Nicht-IEs Mein Problem ist nun das Zusammenführen beider Varianten. Hier ist mein Versuch: Aufklapp für alle Es würde auch im IE funktionieren, wenn ich für den IE die IDs (aufklapp-1, aufklapp-2, ...) im SPAN-Element unsichtbar bachen könnte. Dazu wollte ich die Conditional-Comments für Nicht-IEs benutzen, die grundsätzlich auch funktionieren, wie man an dem Text "Wir sind die guten Browser !" sehen kann, der im IE nicht angezeigt wird. Versuchsweise habe ich nun die ID 'aufklapp-3' im Frankreich-Link mit diesen CCs umschlossen. Erwartungsgemäß funktioniert das Aufklappen bei diesem Link in allen guten Browsern immer noch, aber der Sch...IE scheint diese ID, die nicht für ihn bestimmt ist, doch irgendwie zu lesen, und behält den Klapptext nicht offen. (Bei den ersten beiden Links (die im IE funktionieren), habe ich absichtlich die IDs im SPAN weggelassen, um zu zeigen, daß es nur an der ID liegt, die der IE nicht lesen darf, es aber trotzdem tut). Hat einer von Euch noch eine Idee hierzu, oder evtl einen anderen browserübergreifenden Ansatz ohne JavaScript? Grüße Gaby |
Sponsored Links |
|
|||
Mit Conditional Comments bindest du dein IE-Stylesheet ein, falls du Werte anders setzten bzw. überschreiben musst, arbeitest du mit !important.
|
Sponsored Links |
|
|||
Zitat:
Ich habe zum Testen mal schnell den Backslash-Hack eingesetzt. Wenn du meine erste Datei aufrufst, kannst du sehen, daß es funktioniert: Der IE zeigt einen blauen Rahmen um den Klapptext, alle übrigen Browser einen roten. Aber das ist ja nicht das Problem, sondern: Zitat:
Aufklapp für alle , CCs für alle Nicht-IEs: hier funktioniert das Verstecken vor dem IE: <!--[if !IE]><!-->Wir sind die guten Browser !<!--<![endif]--> aber hier nicht: Zitat:
'id="aufklapp-3"'im Markup soll also nur von allen Nicht-IEs gelesen werden können. ------- Ich bin aber natürlich nicht auf diese Methode festgelegt, falls jemand noch einen anderen Ansatz hätte, wäre ich dankbar. |
|
|||
Ja, das will ich ja.
("ausblenden" im Sinn von "verstecken", "nicht lesbar machen") Wie würdest du das denn mit CCs für die IEs ausblenden? die "Zeichenfolge" 'id="aufklapp-n" im Markup soll also von IEs nicht gelesen werden dürfen. IMO sollte dies hier seinen Dienst tun: <!--[if !IE]><!--> id="aufklapp-n" <!--<![endif]--> Tut es aber nicht. Zitat:
Ich will das Element ja nicht ausblenden, sondern nur die Ankernamen "aufklapp-n" für die IEs verstecken. Uuups, ich merke gerade, daß ich im falschen Forum poste. Das ist ja eigentlich ein HTML-Problem. sorry für die Verwirrung. Geändert von gaby (07.07.2011 um 17:21 Uhr) |
|
|||
Ich habe jetzt nochmal eine ganz einfache Testdatei erstellt:
Zitat:
Das 3. "Lorem Ipsum" sollte für alle Nicht-IEs die Klasse "gruen erhalten, und somit einen grünen Hintergrund haben. Aber anscheinend verschlucken sich die Browser an dem öffnenden tag der CCs, weil sie nach dem "<p" als nächstes ein schließendes tag erwarten. Seht ihr sonst noch eine Möglichkeit, nur den guten Browsern für ein Element einen Klassennamen zu verpassen, oder, um auf mein eigentliches Thema zurückzukommen, ein IE-Workaround für die CSS3-Pseudoklasse :target"? Grüße gaby |
|
|||
Zitat:
Zitat:
__________________
Über Internet Explorer 8: Noch bis 8. April 2014 wird der Internet Explorer 6 mit Sicherheitsupdates versorgt. Bereits jetzt kann dieser Browser aber vollständig durch den IE8 ersetzt werden. Ältere Betriebssysteme und Browserversionen werden von Microsoft nicht mehr unterstützt. Auch Programme, die den IE7 benötigen, sind kein Argument gegen IE8, da dieser über entsprechende Kompatibilitätsschichten verfügt. Ab sofort gilt daher der Internet Explorer 8 als vorausgesetzer Mindeststandard. |
|
|||
Es wird fehlerhaft dargestellt. Das habe ich auch gesehen.
Zitat:
<p> <!--[if IE]> class="gelb" <![endif]--> 2. Lorem Ipsum</p> Dann würde der IE das 'class="gelb"' als Text innerhalb des P-tags lesen, was natürlich ebenfalls nicht zum gewünschten Ergebnis führen würde. Zitat:
Grüße und Danke für deine Antwort gaby |
Sponsored Links |
|
||||
sollte das so sein:
PHP-Code:
__________________
Ein mehrfacher Gruß aus dem Südosten Klaus |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
caa target auch im IE?! | dkabilka | CSS | 3 | 16.03.2010 10:59 |
Workaround für IE Direkt im CSS-Code??? | therug | CSS | 2 | 03.11.2008 09:32 |
Form und Target | xm22 | (X)HTML | 1 | 20.03.2007 14:48 |
position:fixed IE Workaround | osterhas | CSS | 2 | 03.03.2007 14:02 |
Barriernfreiheit Target | michael-r | CSS | 13 | 08.02.2007 16:06 |