[GL CS] body Tag in Musterseite

  • Moin,


    nach langer Zeit habe ich mal wieder eine Site an den Hacken. Im längsten GL
    Thread aller Zeiten hatte Boris mir mal den Tipp gegeben CSS Formatierungen
    mit einer body id vorzunehmen, das klappt, ohne näher auf die Formatierung
    einzugehen, auch ganz exzellent.
    Das zu bewältigende Problem ist nun Folgendes: Ich habe eine Musterseite
    mit zwei zu bearbeitenden Bereichen, das Menü ist als Komponente
    implementiert.
    Das body Tag liegt aber nicht im zu bearbeitenden Bereich, d.h. ich kann es
    zwar im Quellcode Editor der neuen Seite verändern, nach einer
    Aktualisierung steht da aber wieder das Tag aus der Musterseite.
    Was ist zu tun?
    fragt
    Matthias

  • Hallo Matthias,
    ohne es versucht zu haben:
    Füge doch unten ( Vor </body> ) im Quellcode ein </div> ein.
    Oben, gleich hinter <body>, legst du einen weiteren bearbeitbaren Bereich an.
    In diesen fügst nun auf jeder Seite <div id="xxx"> ein.
    Das müsste den gleichen Effekt wie eine body-id haben.


    Gruß
    Uwe

  • hallo Matthias,
    ich habe das nun mal nachgebaut.
    Das funktioniert.
    Den Quellcode eines anderen "Bearbeitbaren Bereichs kannst du kopieren, nur musst du den Namen ändern.
    Dieser Bereich darf natürlich nicht in einem Absatz liegen.
    GoLive zeigt einem zwar zwei Fehler an, aber die heben sich gegenseitig auf. GoLive schafft es offenbar nicht den Zusammenhang zwischen <div> und </div> zu erkennen, wenn eines von beiden in einem "Bearbeitbarem Bereich" liegt.
    Auch eine Änderung an der Musterseite zerstört die Seiten nicht.


    Gruß
    Uwe

  • Das wäre der Quelltext der Musterseite:


    Gruß
    Uwe

  • So sieht das dann bei mir im Quelltext der verknüpten Seite aus:

    HTML
    1. <body>
    2. <!-- TemplateBeginEditable name="bodyid" -->
    3. <div id="eins">
    4. <!-- TemplateEndEditable -->
    5. <div id="wrapper">
    6. <div id="content">
    7. <div id="header">
    8. ...
    9. </div>
    10. </body>

    Die Anweisung in meiner CSS Datei liest sich wie folgt:

    HTML
    1. body#eins #links li#eins a,
    2. body#zwei #links li#zwei a,
    3. body#drei #links li#drei a,
    4. body#vier #links li#vier a
    5. { font-style: italic }

    Mit

    HTML
    1. <body id="eins">

    hat das wunderbar funktioniert, mit der neuen Anweisung klappt´s nicht.


    Woran kann´s liegen?
    nachfragt
    Matthias

  • ich glaub´ ich hab´s jetzt
    habe


    HTML
    1. <body>
    2. <!-- TemplateBeginEditable name="bodyid" -->
    3. <div id="eins">
    4. <!-- TemplateEndEditable -->

    in

    HTML
    1. <body>
    2. <!-- TemplateBeginEditable name="bodyid" -->
    3. <body id="eins">
    4. <!-- TemplateEndEditable -->

    geändert
    Nun scheint´s zu funktionieren (bis auf Widerruf)
    freut sich :)
    Matthias

  • Hallo Matthias,
    body darf natürlich nicht zweimal geöffnet werden. Trotzdem könnte das Funktionieren.


    Der eigentliche Fehler liegt aber in dieser Zeile:

    Code
    1. body#eins #links li#eins a,...


    Diese Anweisung gilt, wenn der body die id "eins" hat.
    Nun reicht:

    Code
    1. #eins #links li#eins a,...


    Gruß
    Uwe

  • Im obigen Zusammenhang macht das Komma schon Sinn. Wenn die Zeile nun alleine stehen sollte, muss es natürlich weg.
    Mir ist nicht klar, warum das <li> auch die id bekommt. Da das aber im funktionierenden Beispiel auch so war, habe ich das einfach mal so stehen gelassen.


    Gib uns doch bitte einen Link zu einem Beispiel. Im Prinzip funktioniert das so. Es muss also an einem Detail liegen.


    Gruß
    Uwe

  • Da hast du ja doch wieder das doppelte <body> tag.
    Das sollte so nicht sein.
    Ebenso darf eine id nur einmal in einer Seite vorkommen.
    Bei dir haben aber body und ein Listenelement beide die id "eins".
    Um eine CSS-Definition mehrfach zu benutzen solltest du Klassen benutzen.
    Mir ist aber nicht klar, warum die ganze Seite und ein einzelnes Element dieser Seite die gleiche Klasse haben sollten.


    Gruß
    Uwe

  • Haha, Uwe Du hast mal wieder Recht, es war ein klassicher Doppelfehler!
    Habe das "body id" durch ein "div id" ersetzt und die Doppelzuweisung (der id) aufgehoben, also


    HTML
    1. <body>
    2. <!-- TemplateBeginEditable name="bodyid" -->
    3. <div id="erste">
    4. <!-- TemplateEndEditable -->

    und in der externen css Datei


    HTML
    1. div#erste #links li#eins a,
    2. ...
    3. { font-style: italic }


    dankt ganz dolle :)
    Matthias