css anweisung nur für firefox
vetinari
- css
hallo,
hatte folgenden css code:
div#content {
position: relative;
top: 15px;
left: 20%;
width: 80%;
}
da im ie der block content leider mehr als 15 px nach unten rutscht, hatte ich folgendes zusätzlich eingefügt:
* html div#content {
top: 0px;
}
das funktioniert aber leider auch nicht so wie gewünscht. deshalb stelle ich mir vor, dass ich das ganze so löse:
div#content {
position: relative;
left: 20%;
width: 80%;
}
* html div#content { // nur für den IE
top: 0px;
}
html > div#content { // nur für den firefox
top: 15px;
}
leider reagiert der firefox nicht auf die letzte anweisung. was stimmt da nicht?
gruss, martin
Yerf!
html > div#content { // nur für den firefox
top: 15px;
}leider reagiert der firefox nicht auf die letzte anweisung. was stimmt da nicht?
Das sich zwischen HTML und dem DIV noch mindestens ein BODY befinden muss. Entweder du gibst statt HTML direkt das Elternelement des DIVs an (so ist der Selktor '>' zu verstehen) oder aber du benutzt die generische Variante 'html > body div#content'.
Gruß,
Harlequin
danke, funktioniert so aber auch nicht:
body > div#content { ... }
vielleicht habe ich ja noch was anderes übersehen ..
hier mal der link:
http://kamasha.de/cms/front_content.php
gruss, martin
Yerf!
body > div#content { ... }
vielleicht habe ich ja noch was anderes übersehen ..
ja, ein 'mindestens' in meiner Erläuterung...
Das Elternelement von div#content ist auf deiner Seite div#main.
Gruß,
Harlequin
das ist natürlich korrekt ;-)
... aber wenn die richtige syntax folgende ist:
html body div#main > div#content { // nur Firefox
top: 20px;
}
... klappt es trotzdem noch nicht :-(
gruss, martin
Hello,
... klappt es trotzdem noch nicht :-(
verstehst du die Vorschläge, die dir hier gemacht werden? Hast du mal dein Dokument danebengehalten? body-->top-->main-->content
MfG
Rouven
ich denke schon.
es geht doch darum, dass die vererbung von einem elternelement: bei mir div#main auf das element div#content durch den selektor ">" geschieht, den der ie nicht versteht, oder?
damit müsste folgendes klappen:
div#main > div#content {
top: 20px;
}
tut es aber nicht.
gruss, martin
Yerf!
div#main > div#content {
top: 20px;
}
Das funktioniert schon, aber so steht es nicht in deiner CSS. Die Fehlerkonsole des FF weiß mehr:
Warnung: Deklaration erwartet, aber '/' gefunden. Übersprungen bis zur nächsten Deklaration
Quelldatei: http://kamasha.de/cms/css/style.css
Zeile: 198
CSS kennt keine einzeiligen Kommentare per '//', so wie es z.B. C++ oder JS erlaubt.
Gruß,
Harlequin
bin auch gerade darauf gestoßen, danke!
kommentare müssen natürlich in /* ... */ gesetzt werden ...
jetzt macht der browser auch was er soll.
gruss, martin
Hi,
... aber wenn die richtige syntax folgende ist:
aus einer falschen Annahme kann man bekanntlich alles schließen ;-)
html body div#main > div#content { // nur Firefox
Ich habe keine Ahnung, ob das <div id="content"> bei Dir Kind(!) des <div id="main"> ist. Ich weiß jedoch (HTML vorausgesetzt) mit absoluter Sicherheit, dass <body> Kind von <html> ist. Was also liegt näher, als den Kindselektor genau hier einzusetzen?
Übrigens ist nicht nur Deine Kennzeichnung des Kommentars falsch, wie Dir bereits gesagt wurde, sondern auch der Inhalt desselben. Richtig wäre: "nicht Windows-IE bis einschließlich Version 6", denn sowohl alle nicht-IEs als auch der Mac-IE als auch IE 7[1] beherrschen den Kind-Selektor. (Antiquitäten wie Netscape 4 lasse ich mal außen vor.)
Cheatah
[1] Oder habe ich das falsch in Erinnerung?
Hello out there!
html > div#content { // nur für den firefox
top: 15px;
}leider reagiert der firefox nicht auf die letzte anweisung. was stimmt da nicht?
Es gibt kein 'div' mit einer ID "content", welches _Kind_element des 'html'-Elements wäre. [CSS2 §5.6]
See ya up the road,
Gunnar