vetinari: css anweisung nur für firefox

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

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

            --
            -------------------
            <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
            <HTML><HEAD>
            <TITLE>404 Not Found</TITLE>
            </HEAD><BODY>
            <H1>Not Found</H1>
            The requested URL /quote_rotator.php was not found on this server.<P>
            <P>Additionally, a 404 Not Found
            error was encountered while trying to use an ErrorDocument to handle the request.
            <HR>
            <ADDRESS>Apache/1.3.39 Server at zeus.alsoisp.net Port 80</ADDRESS>
            </BODY></HTML>
            1. 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

              1. 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

                1. 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

          2. 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?

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. 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

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)