Ingo Siemon: Abstände zwischen Listen-Elementen

0 91

Abstände zwischen Listen-Elementen

Ingo Siemon
  • css
  1. 0
    Gernot Back
    1. 0
      Der Martin
      1. 0
        Gunnar Bittersmann
      2. 0

        Whitespaces, wo Whitespaces hingehören!

        Gernot Back
        • menschelei
        1. 0
          willie.de
          1. 0
            willie.de
          2. 0
            Gernot Back
  2. 0
    Gunnar Bittersmann
    1. 0
      Ingo Siemon
      1. 0
        Gunnar Bittersmann
        1. 0
          Gernot Back
          1. 0
            Gunnar Bittersmann
            1. 0
              Gernot Back
              1. 0
                Gunnar Bittersmann
              2. 0
                Detlef G.
                1. 0

                  Dimensionen des Containing Blocks von Floatelementen

                  Gernot Back
                  1. 0
                    Ashura
                  2. 0
                    Detlef G.
                    1. 0
                      Gernot Back
                    2. 0
                      Gunnar Bittersmann
                      1. 0
                        Detlef G.
                      2. 0
                        Gernot Back
    2. 0
      Gunnar Bittersmann
      1. 0
        Ingo Siemon
        1. 0
          Gunnar Bittersmann
          1. 0
            Ingo Siemon
          2. 0
            Ingo Siemon
            1. 0
              Detlef G.
              1. 0
                Ingo Siemon
                1. 0
                  Gunnar Bittersmann
            2. 0
              Gunnar Bittersmann
              1. 1
                Sven Rautenberg
                1. 0
                  MudGuard
                2. 0
                  Gunnar Bittersmann
                  1. 0
                    MudGuard
                    1. 0
                      Ashura
                  2. 0
                    Sven Rautenberg
                    1. 0
                      Gunnar Bittersmann
                  3. 0
                    Ingo Siemon
                    1. 0
                      Ashura
                      1. 0
                        Gunnar Bittersmann
                        1. 0
                          Ashura
                          1. 0

                            verschiedene Doctypes in einer Web-Präsentation

                            Ingo Siemon
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                Ingo Siemon
                    2. 0
                      Der Martin
              2. 0
                Ingo Siemon
                1. 0
                  Gunnar Bittersmann
                  1. 0

                    Transitional und Strict "gemischt" benutzen?

                    Ingo Siemon
                    • html
                    1. 0
                      Gunnar Bittersmann
                      1. 0
                        Ingo Siemon
                        1. 0

                          XHTML oder HTML?

                          Gunnar Bittersmann
                          1. 0
                            Ingo Siemon
                            1. 0
                              Gunnar Bittersmann
                              1. 0
                                Ingo Siemon
                                1. 0
                                  Gunnar Bittersmann
                                  1. 0
                                    Ingo Siemon
                                  2. 0
                                    Ingo Siemon
                                    1. 0
                                      Gunnar Bittersmann
                                      1. 0
                                        Ingo Siemon
                                    2. 0
                                      Detlef G.
                                      1. 0
                                        Ingo Siemon
                                        1. 0
                                          Detlef G.
                                          1. 0
                                            Ingo Siemon
                                            1. 0
                                              Detlef G.
                                              1. 0
                                                Ingo Siemon
                                                1. 0
                                                  Detlef G.
                                                  1. 0
                                                    Ingo Siemon
                                                    1. 0

                                                      Frameset Nachladen

                                                      Detlef G.
                                                      • javascript
                                                      1. 0
                                                        Ingo Siemon
                                                        1. 0
                                                          Detlef G.
                                                          1. 0
                                                            Ingo Siemon
                                                            1. 0
                                                              Detlef G.
                                                              1. 0
                                                                Ingo Siemon
                                                                1. 0
                                                                  Detlef G.
                                                                  1. 0
                                                                    Ingo Siemon
                                          2. 0
                                            Ingo Siemon
                                            1. 0
                                              Gunnar Bittersmann
                                              1. 0
                                                Ingo Siemon
                                            2. 0
                                              Detlef G.
                                2. 0
                                  Detlef G.
                                  1. 0
                                    Ingo Siemon
                          2. 0

                            Mucke vom Gunnar

                            Ingo Siemon
                            1. 0
                              Gunnar Bittersmann
                              • menschelei
                    2. 1
                      Detlef G.
                      1. 0
                        Ingo Siemon
                      2. 0
                        at
                        1. 0
                          Detlef G.
                          1. 0
                            at
            3. 1
              Sven Rautenberg

Hallo

Ich habe da ein kleines CSS-Problem mit einer Liste.
Nach stundenlangem Probieren bitte ich Euch hier um Hilfe.

Der HTML-Code ist folgender:
--------------------------------------------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="imagetoolbar" content="no">

<link rel="stylesheet" type="text/css" href="../css_Test.css">

<title>XXXXX</title>

</head>

<body>

<ul class="produktbilder">
      <li class="produktbildl">
        <img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title="">
      </li>
      <li>
        <img src="str006-b.jpg" alt="Starship Troopers: Rodger Young (Abbildung 2)" title="">
      </li>
      <li class="produktbildl">
        <img src="str006-c.jpg" alt="Starship Troopers: Rodger Young (Abbildung 3)" title="">
      </li>
      <li>
        <img src="str006-d.jpg" alt="Starship Troopers: Rodger Young (Abbildung 4)" title="">
      </li>
      <li class="produktbildl">
        <img src="str006-e.jpg" alt="Starship Troopers: Rodger Young (Abbildung 5)" title="">
      </li>
      <li>
        <img src="str006-f.jpg" alt="Starship Troopers: Rodger Young (Abbildung 6)" title="">
      </li>
    </ul>

</body>

</html>
--------------------------------------------------------------------

Der dazugehörige CDD-Code dieser:
--------------------------------------------------------------------
* {margin: 0; padding:0;}

ul.produktbilder img {
 background: #d5d5d5 url(bilder/bild-wird-geladen.gif) no-repeat bottom;
    vertical-align: bottom;
    width: 250px;
 height: 148px;
}

ul.produktbilder li {
 list-style-type: none;
    border: 1px solid #3d3d3d;
    width: 250px;
    margin: 0 0 7px 0;
}

li.produktbildl {
    float: left;
}
--------------------------------------------------------------------

"Bewundern" kann man sich das hier:
http://spaceart.de/_Test/produkte/str006_Test.htm

Eigentlich sollten ja die horizontalen Abstände zwischen den Bildern
Null sein.

Im FireFox Browser klappt das auch.
Nur der Internet-Explorer macht da einen Abstand.
Der Opera setzt die Bilder einfach alle untereinander.
Woran kann das denn liegen?
Bzw. wo mache ich denn den Fehler?

Was ich letztendlich erreichen möchte, ist, dass immer
2 Bilder nebeneinander gezeigt werden und dann ein Umbruch stattfindet.

Also:
Abbildung 1  [Abstand]  Abbildung 2
Abbildung 3  [Abstand]  Abbildung 4
Abbildung 5  [Abstand]  Abbildung 6

An der "Reihenfolge" im HTML-Code kann ich nicht viel ändern,
weil es sich bei meinem Problem um ein spezielles CSS fürs Drucken handelt.

Die Bilder sind auf der Webseite alle größer und untereinander
angeordnet. Nur für den Druck sollen sie halt kleiner und
2er-weise nebeneinander angeordnet werden.

Über Eure Hilfe würde ich mich sehr freuen.
Gruß
Ingo

  1. Hallo Ingo,

    ul.produktbilder img {
    background: #d5d5d5 url(bilder/bild-wird-geladen.gif) no-repeat bottom;
        vertical-align: bottom;
        width: 250px;
    height: 148px;
    }

    Ich würde es mal damit versuchen, auch die IMG-Elemente floaten zu lassen, vielleicht reicht es sogar schon, wenn du ihnen display:block gibst.

    Gruß Gernot

    1. Guten Morgen,

      Ich würde es mal damit versuchen, auch die IMG-Elemente floaten zu lassen, vielleicht reicht es sogar schon, wenn du ihnen display:block gibst.

      oder noch einfacher: Verzichte zwischen <li> und <img> sowie zwischen <img> und </li> auf Leerzeichen und Umbrüche. Rücke also das hier

      <li class="produktbildl">
         <img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title="">
      </li>

      alles in eine Zeile:

      <li class="produktbildl"><img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title=""></li>

      Der IE versteht sonst die Whitespaces als Text innerhalb der li-Elemente und setzt -völlig korrekt eigentlich- die Bilder auf 1 Leerzeichen Abstand.

      Schönes Wochenende noch,
       Martin

      --
      F: Was ist wichtiger: Die Sonne oder der Mond?
      A: Der Mond. Denn er scheint nachts. Die Sonne dagegen scheint tagsüber, wenn es sowieso hell ist.
      1. Hello out there!

        Getestet habt Ihr das beide nicht, oder? Weder

        Ich würde es mal damit versuchen, auch die IMG-Elemente floaten zu lassen, vielleicht reicht es sogar schon, wenn du ihnen display:block gibst.

        noch

        oder noch einfacher: Verzichte zwischen <li> und <img> sowie zwischen <img> und </li> auf Leerzeichen und Umbrüche.

        hilft (im IE 5.0).

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
      2. Hallo Martin,

        alles in eine Zeile:

        <li class="produktbildl"><img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title=""></li>

        Der IE versteht sonst die Whitespaces als Text innerhalb der li-Elemente und setzt -völlig korrekt eigentlich- die Bilder auf 1 Leerzeichen Abstand.

        Ich habe es ja lieber übersichtlich und lobe mir da CSS, mit dem ich mir auch den Quellcode so formatieren und einrücken kann, wie ich das möchte.

        CSS weiß man so richtig erst zu schätzen, wenn es einem mal entzogen wird:
        Die letzte Woche habe ich nämlich hauptsächlich mit der Codierung eines ekligen Newsletters zugebracht. Vorgabe: Verwenden Sie kein CSS!

        Damit auch Listenpunkte schön farbig neben bündigem Text in jedem Browser mit gleichem Abstand dargestellt wurden, habe ich bis zu fünffach verschachtelte Tabellen missbraucht. In jede einzelne Tabellenzelle und in jedes einzelne A-Element musste dann auch noch mal jeweils ein Fontelement(!), das als einziges sogar jeweils "inline" "Style" haben durfte, wow! (klar, das musste ja sein, damit ich die Schriftgröße in Pixeln zementieren konnte!)

        Wenn Bilder mit ellenlangen kryptischen Searchstrings verlinkt waren, musste ich stellenweise einen Meter im Quellcode nach rechts scrollen.

        Bei 99% der Empfänger bleibt meine "schöne" Arbeit sowieso im Spamfilter hängen und hinterlässt nichts als "Whitespace". Da bin ich mir sicher. Für das restliche eine Prozent habe ich aber sogar auch noch eine Nurtext-Variante des Newsletters gebaut, bei der ich den Text umgebende Rautenkästen mit Leerzeichen aufgefüllt habe. - Es könnte ja sein, dass das bei jemandem in einem Mailprogramm ankommt, das Mehrfachleerzeichen nicht eliminiert und zur Anzeige eine Monospace-Schriftart verwendet!

        Was solls? Visitenkarten, auf denen "web entwickler" mit Leerzeichen in der Mitte steht, sind in Vorbereitung. Die Whitespaces in meinem Tagesablauf sind bereits jetzt verschwunden und demnächst vielleicht auch die in meiner Geldbörse. Dass bei dem Job allerdings jemals mehr als ein Whitespace pro Zahl zur Markierung von Tausenderblöcken auf meinem Konto auftauchen wird, wage ich zu bezweifeln.

        Gruß Gernot

        1. Hallö Gernot Black,

          erstmal: Sehr schöner Bei Trag ;-)

          Ich habe es ja lieber übersichtlich und lobe mir da CSS, mit dem ich mir auch den Quellcode so formatieren und einrücken kann, wie ich das möchte.

          Ich vermute, ich verstehe das grad überhaupt nicht. Könntest du da mal klurz ausführen, in welchem Programm oder wie auch immer du das machst? (Ich hab von Programmiersprachen nur rudimentäre Kenntnisse. Eigentlich gar keine…)

          Danke für Unterstützung und
          Grüße aus Leipzig
          willie

          --
          sh:( fo:| ch:? rl:( br:> n4:( ie:% mo:} va:} de:> zu:} fl:( ss:| ls:[ js:|
          Selfcode Decoder
          1. Uuups! Tschuldigung!

            Hallö Gernot Black,

            ................^

          2. Hallo willie.de,

            Ich habe es ja lieber übersichtlich und lobe mir da CSS, mit dem ich mir auch den Quellcode so formatieren und einrücken kann, wie ich das möchte.

            Ich vermute, ich verstehe das grad überhaupt nicht. Könntest du da mal klurz ausführen, in welchem Programm oder wie auch immer du das machst?

            Die Einrückungen können sehr viele Editoren automatisch machen. In Visual Studio 2003 habe ich da auch eine Funktion ("Quelltext formatieren"), mit der ich sogar Spaghetticode mit einem Klick formatieren kann. Das funktioniert aber nur, wenn dabei kein erforderliches End-Tag fehlt. Wenn etwas unstimmig ist, weigert sich diese Funktion, mir irgendetwas neu zu formatieren, gibt mir aber Hinweise, wo etwas nicht stimmen könnte.

            VS wie auch Homesite, das ich neuerdings benutze und dessen Features ich bestimmt noch gar nicht alle entdeckt habe, erwarten bei einer neuen Zeile im Quellcode jeweils auch ein neues Element und wissen je nachdem, ob Elemente bereits geschlossen sind oder nicht, ob es sich dabei um weiter einzurückende Kindelemente oder gleich weit einzurückende Geschwisterelemente handelt.

            Gruß Gernot

  2. Hello out there!

    Nur der Internet-Explorer macht da einen Abstand.

    Ich weiß nicht, welcher der vielen IE-Bugs den nun hervorruft. Aber warum machst du das so kompliziert?

    Setze ul.produktbilder li {display: inline} und gib der Liste eine Breite, so dass nur zwei Items nebeneinander passen. Eine Klasse produktbildl ist dann überflüssig.

    Dabei im HTML die Whitespaces entfernen:

        <ul class="produktbilder">  
          <li><img  
            src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title=""  
          ></li><li><img  
            src="str006-b.jpg" alt="Starship Troopers: Rodger Young (Abbildung 2)" title=""  
          ></li><li><img  
            src="str006-c.jpg" alt="Starship Troopers: Rodger Young (Abbildung 3)" title=""  
          ></li><li><img  
            src="str006-d.jpg" alt="Starship Troopers: Rodger Young (Abbildung 4)" title=""  
          ></li><li><img  
            src="str006-e.jpg" alt="Starship Troopers: Rodger Young (Abbildung 5)" title=""  
          ></li><li><img  
            src="str006-f.jpg" alt="Starship Troopers: Rodger Young (Abbildung 6)" title=""  
          ></li>  
        </ul>
    

    See ya up the road,
    Gunnar

    PS: Hast du mehrere solcher Listen? Wenn nicht, wäre <ul id="produktbilder"> wohl passender.

    --
    “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
    1. Lieber Gunnar

      Aber warum machst du das so kompliziert?

      OK, das leuchtet soweit ein.
      Wenn ich alles richtig verstanden habe,
      müsste es doch nun folgendermassen richtig sein:
      -------------------------------------------------------------------
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>

      <head>

      <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
          <meta http-equiv="imagetoolbar" content="no">

      <link rel="stylesheet" type="text/css" href="../css_Test2.css">

      <title>XXXXX</title>

      </head>

      <body>

      <ul id="produktbilder">
              <li><img src="str006-a.jpg" alt=""></li><li><img src="str006-b.jpg" alt=""></li><li><img src="str006-c.jpg" alt=""></li><li><img src="str006-d.jpg" alt=""></li><li><img src="str006-e.jpg" alt=""></li><li><img src="str006-f.jpg" alt=""></li>
          </ul>

      </body>

      </html>
      -------------------------------------------------------------------

      Und der dazugehörige CSS-Code:
      -------------------------------------------------------------------
      * {margin: 0; padding:0;}

      ul#produktbilder {
          width: 510px;
      }

      ul#produktbilder img {
          vertical-align: bottom;
          width: 250px;
          height: 148px;
      }

      ul#produktbilder li {
       list-style-type: none;
          border: 1px solid #000000;
          width: 250px;
          display: inline;
      }
      -------------------------------------------------------------------

      Das will nun aber immer noch nicht richtig klappen.
      Das ruft im IE, Firefox und Opera verschiedene merkwürdige Effekte hervor.

      Siehe selbst:
      http://spaceart.de/_Test/produkte/str006_Test2.htm

      Hab ich Dich vielleicht doch irgendwie falsch verstanden?

      Gruß
      Ingo

      1. Hello out there!

        Hab ich Dich vielleicht doch irgendwie falsch verstanden?

        Nee, schon richtig. Ich hatte beim Testen nur keinen Rahmen gesetzt.

        Ist mir jetzt noch zu früh um nachzudenken, warum der Firefox den Rahmen nicht um die Bildbox legt.

        Abhilfe: Rahmen nicht für li, sondern für img.

        See ya up the road,
        Gunnar

        --
        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
        1. Hallo Gunnar,

          Ist mir jetzt noch zu früh um nachzudenken, warum der Firefox den Rahmen nicht um die Bildbox legt.

          Ich glaube, weil Ingo dafür auch das UL-Element floaten lassen müsste.

          Gruß Gernot

          1. Hello out there!

            Ich glaube,

            Deine Religion tut hier nichts zur Sache. Testen ist besser als glauben.

            weil Ingo dafür auch das UL-Element floaten lassen müsste.

            Wieso auch? Es floatet hier noch gar nichts.

            See ya up the road,
            Gunnar

            --
            “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
            1. Hallo Gunnar,

              Ich glaube,

              Deine Religion tut hier nichts zur Sache. Testen ist besser als glauben.

              weil Ingo dafür auch das UL-Element floaten lassen müsste.

              Wieso auch? Es floatet hier noch gar nichts.

              Ich ging davon aus, dass du dir zu Testzwecken einen Rahmen auch um das UL-Element anzeigen lassen wolltest.

              Warum es allerdings so ist, dass Rahmen von Elternelementen darin floatende Kindelemente nur dann mitumfassen, wenn auch die Elternelemente selbst floaten, kannst du mir vielleicht sagen, wenn du es weißt.

              Es könnte in deinem Falle dann sogar sein, dass ich dir das einfach ohne weitere Überprüfung glaube.

              ;-)

              Gruß Gernot

              1. Hello out there!

                Wieso auch? Es floatet hier noch gar nichts.

                Warum es allerdings so ist, dass Rahmen von Elternelementen darin floatende Kindelemente nur dann mitumfassen, wenn auch die Elternelemente selbst floaten, […]

                In diesem Subthread 10:43 > 11:09 > 11:26 > … war float für kein Element gesetzt.

                Das hatte ich 10:43 nicht explizit gesagt, sollte aber klar sein, dass 'li {display: inline}' 'li {float: left}' überflüssig macht. So wollte ich jedenfalls verstanden werden, dass die display-Angabe ANSTATT der float-Angabe zu machen sei. (Dass es mit float statt display doch besser ist, habe ich im anderen Subthread 11:40 > … gesagt.)

                Mit float hat also die unerwünschte Anzeige gar nichts zu tun.

                See ya up the road,
                Gunnar

                --
                “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              2. Hallo Gernot

                ..., dass Rahmen von Elternelementen darin floatende Kindelemente nur dann mitumfassen, wenn auch die Elternelemente selbst floaten, ...

                Du bist doch kein Anfänger mehr, und das gehört doch wohl zum CSS-Grundwissen
                bezüglich float.

                <Gebetsmühle>
                Floatenden Elemente werden aus dem Elementfluss genommen und haben keinen
                Einfluss auf andere Blockelemente (auch umgebende), solange das Float nicht
                aufgehoben ist, oder diese Elemente bestimmte Bedingungen (z.B. selbst
                floaten) erfüllen.
                </Gebetsmühle>

                Auf Wiederlesen
                Detlef

                --
                - Wissen ist gut
                - Können ist besser
                - aber das Beste und Interessanteste ist der Weg dahin!
                1. Hallo Detlef,

                  ..., dass Rahmen von Elternelementen darin floatende Kindelemente nur dann mitumfassen, wenn auch die Elternelemente selbst floaten, ...

                  <Gebetsmühle>
                  Floatenden Elemente werden aus dem Elementfluss genommen und haben keinen
                  Einfluss auf andere Blockelemente (auch umgebende), solange das Float nicht
                  aufgehoben ist, oder diese Elemente bestimmte Bedingungen (z.B. selbst
                  floaten) erfüllen.
                  </Gebetsmühle>

                  Nun, darüber ob man das zum Grundwissen rechnen sollte, kann man geteilter Meinung sein; insbesondere, was die "bestimmten Bedingungen" angeht.

                  Wir reden hier ja vom "Containing Block" und wie dessen Rahmen angezeigt wird. Darüber, wie dieser definiert ist, wenn seine Kindelemente floaten, finde ich hier

                  http://www.w3.org/TR/CSS21/visudet.html#containing-block-details

                  auf Anhieb nichts, lediglich etwas dazu, wie er sich bei den verschiedenen Werten von position seiner Kindelemente verhält.

                  Eine weitere "bestimmte Bedingung", unter welcher der Rahmen des Containing-Blocks sich doch auch (in Opera und Firefox) wieder um seine floatenden Kindelemente erstreckt, selbst wenn er selbst nicht floatet, habe ich gerade erst entdeckt:

                  Wenn man dem Elternelement eine andere overflow-Eigenschaft als visible verpasst, ohne sich zu seiner height auszulassen.

                  Auch hierzu habe ich keine Spezifikation gefunden:

                  http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow

                  Gruß Gernot

                    
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"  
                          "http://www.w3.org/TR/html4/strict.dtd">  
                  <html>  
                     <head>  
                        <title>Bildlistenboxrahmen</title>  
                        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >  
                    
                        <style type="text/css">  
                  [code lang=css]  
                           * { margin:0;padding:0; }  
                    
                           ul#produktbilder {  
                              width:504px;  
                              list-style-type:none;  
                              overflow:auto;  
                              border:solid 1px red;  
                           }  
                    
                           ul#produktbilder li {  
                              float:left;  
                              border:1px solid #3d3d3d;  
                              margin:0 0 7px 0;  
                           }  
                    
                           ul#produktbilder li img {  
                              width:250px;  
                              height:148px;  
                              display:block;  
                           }
                  

                  </style>
                     </head>
                     <body>
                        <ul id="produktbilder">
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-a.jpg" alt="" />
                           </li>
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-b.jpg" alt="" />
                           </li>
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-c.jpg" alt="" />
                           </li>
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-d.jpg" alt="" />
                           </li>
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-e.jpg" alt="" />
                           </li>
                           <li>
                              <img src="http://spaceart.de/_Test/produkte/str006-f.jpg" alt="" />
                           </li>
                        </ul>
                     </body>
                  </html>[/code]

                  1. Hallo Gernot.

                    Wenn man dem Elternelement eine andere overflow-Eigenschaft als visible verpasst, ohne sich zu seiner height auszulassen.

                    Siehe SELFHTML Aktuell Weblog: Grundlagen für Spaltenlayout mit CSS.

                    Einen schönen Sonntag noch.

                    Gruß, Ashura

                    --
                    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                    mathbr:del.icio.us/ mathbr:w00t/
                  2. Hallo Gernot

                    Nun, darüber ob man das zum Grundwissen rechnen sollte, kann man geteilter Meinung sein; insbesondere, was die "bestimmten Bedingungen" angeht.

                    Genau deshalb habe ich diese "bestimmten Bedingungen" auch nicht weiter
                    ausgeführt. Ich würde diese nicht unbedingt als Grundwissen bezeichnen,
                    wobei mir auffällt, dass mir bei float (Textumfluss) ein diesbezüglicher
                    Hinweis fehlt.

                    Wir reden hier ja vom "Containing Block" und wie dessen Rahmen angezeigt wird.

                    Nein, wir reden nicht wirklich über die Anzeige des Rahmens sondern über die
                    Größe, die dieser hat, beziehungsweise, wie diese durch die floatenden
                    Elemente beeinflusst wird.

                    floats overlap with boxes in normal flow

                    Eine weitere "bestimmte Bedingung", unter welcher der Rahmen des Containing-Blocks sich doch auch (in Opera und Firefox) wieder um seine floatenden Kindelemente erstreckt, selbst wenn er selbst nicht floatet, habe ich gerade erst entdeckt:

                    Deshalb habe ich dies auch nicht präzieser geschrieben. Mir ist dies auch
                    erst durch Einschließen von float-Boxen bewusst geworden.

                    Auch hierzu habe ich keine Spezifikation gefunden:

                    Das habe ich auch nicht, allerdings habe ich auch nicht intensiv gesucht.
                    (Bei meinen Englischkenntnissen ist mir das zu mühsam.)

                    Auf Wiederlesen
                    Detlef

                    --
                    - Wissen ist gut
                    - Können ist besser
                    - aber das Beste und Interessanteste ist der Weg dahin!
                    1. Hallo Detlef,

                      erst durch Einschließen von float-Boxen bewusst geworden.

                      Auch hierzu habe ich keine Spezifikation gefunden:

                      Das habe ich auch nicht, allerdings habe ich auch nicht intensiv gesucht.

                      Ein Link auf die entsprechende Sprzifikation findet sich ja in dem von dir genannten Artikel:

                      http://www.w3.org/TR/CSS21/visuren.html#block-formatting

                      "Block formatting" ist also das Stichwort.

                      Wieder schlauer! ;-)

                      Gruß Gernot

                    2. Hello out there!

                      Das habe ich auch nicht, allerdings habe ich auch nicht intensiv gesucht.
                      (Bei meinen Englischkenntnissen ist mir das zu mühsam.)

                      http://www.w3.org/2003/03/Translations/byLanguage?language=de und http://www.edition-w3c.de/ kennst du aber?

                      See ya up the road,
                      Gunnar

                      --
                      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                      1. Hallo Gunnar

                        http://www.w3.org/2003/03/Translations/byLanguage?language=de und http://www.edition-w3c.de/ kennst du aber?

                        Natürlich kenne ich das.
                        Es enthält leider nur CSS2 und nicht 2.1, so dass man zur Sicherheit
                        vergleichen sollte.
                        Was aber noch entscheidender ist, es eignet sich nicht gut zur Suche, weil
                        dort die Querverweise (Textlinks) fehlen.

                        Auf Wiederlesen
                        Detlef

                        --
                        - Wissen ist gut
                        - Können ist besser
                        - aber das Beste und Interessanteste ist der Weg dahin!
                      2. Hallo Gunnar,

                        http://www.w3.org/2003/03/Translations/byLanguage?language=de und http://www.edition-w3c.de/ kennst du aber?

                        "Floats, absolutely positioned elements, inline-blocks, table-cells, and elements with 'overflow' other than 'visible' establish new block formatting contexts."

                        Dieser entscheidende Satz fehlt da!

                        http://edition-w3c.de/TR/1998/REC-CSS2-19980512/kap09.html#_Toc4296634

                        Und hier

                        http://loc.stack.ru/projects/CSS2/visuren.html#block-formatting

                        sieht es, glaube ich ;-), auch nicht besser aus, was ich allerdings nur anhand der Zahl der Absätze mutmaße, da ich mich mit Russisch noch schwerer tue als Detlef mit Englisch.

                        Gruß Gernot

    2. Hello out there!

      Dabei im HTML die Whitespaces entfernen:

      Kommando zurück! Der unübersichtliche Quelltext ist nicht erforderlich: display für li NICHT auf inline setzen, stattdessen float: left.

      Bei entsprechender Breite für ul passt’s dann. Auch wenn border für li, nicht für img gesetzt ist.

      Dann geht auch wie in deinem ursprünglichen Code

          <ul id="produktbilder">  
            <li>  
              <img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title="">  
            </li>
      

      See ya up the road,
      Gunnar

      --
      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
      1. Lieber Gunnar

        Kommando zurück!
        Dann geht auch wie in deinem ursprünglichen Code

        OK, stimmt :)
        Auf die einfachsten Sachen kommt man immer zuletzt :)

        Habs nun also wieder so:

            <ul id="produktbilder">  
              <li>  
                <img src="str006-a.jpg" alt="Starship Troopers: Rodger Young (Abbildung 1)" title="">  
              </li>  
              <li>  
                <img src="str006-b.jpg" alt="Starship Troopers: Rodger Young (Abbildung 2)" title="">  
              </li>  
              <li>  
                <img src="str006-c.jpg" alt="Starship Troopers: Rodger Young (Abbildung 3)" title="">  
              </li>  
              <li>  
                <img src="str006-d.jpg" alt="Starship Troopers: Rodger Young (Abbildung 4)" title="">  
              </li>  
              <li>  
                <img src="str006-e.jpg" alt="Starship Troopers: Rodger Young (Abbildung 5)" title="">  
              </li>  
              <li>  
                <img src="str006-f.jpg" alt="Starship Troopers: Rodger Young (Abbildung 6)" title="">  
              </li>  
            </ul>
        

        Und das CSS:~~~css

        • {margin: 0; padding:0;}

        ul#produktbilder {
            width: 508px;
        }

        ul#produktbilder img {
            vertical-align: bottom;
            width: 250px;
            height: 148px;
        }

        ul#produktbilder li {
            list-style-type: none;
            border: 1px solid #3d3d3d;
            width: 250px;
            margin-bottom: 7px;
            float: left;
        }

          
        So klappts nun in allen 3 Browsern (IE6, Firefox und Opera) wunderbar.  
          
        Und wenn ich nun noch einen horizontalen Abstand zwischen den  
        Bildern haben möchte, müsste ich doch einfach jedes zweite li-Element  
        mit einer Klasse versehen und dieser dann einen margin-right zuweisen ... oder?  
          
        Gruß  
        Ingo
        
        1. Hello out there!

          Und wenn ich nun noch einen horizontalen Abstand zwischen den
          Bildern haben möchte, müsste ich doch einfach jedes zweite li-Element
          mit einer Klasse versehen und dieser dann einen margin-right zuweisen

          Nein. Du kannst auch einfach JEDEM li-Element rechten Abstand verpassen. Oder stört dich der bei den rechten Bildern?

          BTW, in CSS 3 wird es auch Selektoren für „jedes zweite Element“ geben.

          See ya up the road,
          Gunnar

          --
          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
          1. Lieber Gunnar

            Nein. Du kannst auch einfach JEDEM li-Element rechten Abstand verpassen. Oder stört dich der bei den rechten Bildern?

            OK, das werde ich mal probieren und dann mal sehen,
            obs da noch irgendwelchen fiesen Nebeneffekte
            bei meinem gesamten Seitenlayout gibt.
            Ich medle mich dann, obs geklappt hat.

            Ich möchte Dir hier auch noch sehr für deine tolle und nette
            Hilfe am frühen Morgen danken! (Das gilt natürlich auch für
            die anderen Poster hier!)

            Gruß
            ingo

          2. Lieber Gunnar

            So, da bin ich nun noch einmal.
            Nach einer großen Test-Ausdruck-Session kann ich
            nun mit Freude feststellen, dass nun alles ganz
            hervorragend auf den Ausdrucken aussieht.

            Wer selber mal gerne testen möchte:
            http://spaceart.de/_Test/
            Falls doch noch jemand Grund zur Beanstandung hat,
            bin ich über postings hier natürlich immer sehr froh.

            Um auf einer Seite einen Link "Seite ausdrucken" anzubieten,
            muss man doch nur <a href="javascript:self.print()">ausdrucken</a> schreibe, oder?
            Gibts da eigentlich noch ne Methode, die auch bei
            deaktiviertem Javascript funktioniert?

            Oder könnte man es irgendwie so lösen,
            dass dieser ganze Link bei deaktiviertem Javascript gar nicht
            erst zu sehen ist?

            Was meint Ihr?
            Gruß
            Ingo

            1. Hallo Ingo

              Gibts da eigentlich noch ne Methode, die auch bei
              deaktiviertem Javascript funktioniert?

              Die dürfte jeder Browser enthalten ;-).
              (z.B. Klick auf den Druckbutton, Datei -> Drucken, Strg+P)

              Oder könnte man es irgendwie so lösen,
              dass dieser ganze Link bei deaktiviertem Javascript gar nicht
              erst zu sehen ist?

              Du kannst den Link mittels Javascript ins Dokument einfügen.

              Auf Wiederlesen
              Detlef

              --
              - Wissen ist gut
              - Können ist besser
              - aber das Beste und Interessanteste ist der Weg dahin!
              1. Lieber Detlef

                Die dürfte jeder Browser enthalten ;-).
                (z.B. Klick auf den Druckbutton, Datei -> Drucken, Strg+P)

                Ja, das ist natürlich klar ;-)
                Da ich aber eine Seite mit Frames habe,
                möchjte ich auf den eigentlichen Produktseiten einen
                solchen ausdrucken-Link setzen.
                Damit eben auch User sich die Produktseiten ausdrucken können,
                die nicht wissen, dass es da auch entsprechende Optionen
                im Drucken-Dialog der Browser gibt.

                Du kannst den Link mittels Javascript ins Dokument einfügen.

                Stimmt, das ist ja pfiffig :)
                Werd ich wohl so machen ... Danke für den Tipp.

                Gruß
                Ingo

                1. Hello out there!

                  Da ich aber eine Seite mit Frames habe,

                  Warum hast du das? ...

                  Damit eben auch User sich die Produktseiten ausdrucken können,
                  die nicht wissen, dass es da auch entsprechende Optionen
                  im Drucken-Dialog der Browser gibt.

                  ... Wo du doch einen der Nachteile von Frames schon erkannt hast?

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
            2. Hello out there!

              Um auf einer Seite einen Link "Seite ausdrucken" anzubieten,

              Links führen gewöhnlich zu anderen Ressourcen; mit Buttons werden Aktionen ausgelöst. Also besser keinen Link, sondern einen Button anbieten:

              <form action=""><button onclick="window.print()">Seite ausdrucken</button></form>

              muss man doch nur <a href="javascript:self.print()">ausdrucken</a> schreibe, oder?

              Nein, sowas sollte man nicht schreiben. javascript ist kein Protokoll, JavaScript-Code hat in einem URI (Wert des href-Attributs) nichts zu suchen.

              Gibts da eigentlich noch ne Methode, die auch bei
              deaktiviertem Javascript funktioniert?

              Ja, der Druck-Button des Browser sowie dessen Menü.

              Oder könnte man es irgendwie so lösen,
              dass dieser ganze Link bei deaktiviertem Javascript gar nicht
              erst zu sehen ist?

              Klar, du schreibst das mit JavaScript ins Dokument:

              <script type="text/javascript>[code lang=javascript]document.write('[code lang=html]<form action=""><button onclick="window.print()">Seite ausdrucken</button></form>')[/code]</script>[/code]

              Oder auch mittels DOM.

              See ya up the road,
              Gunnar

              --
              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
              1. Moin!

                Links führen gewöhnlich zu anderen Ressourcen; mit Buttons werden Aktionen ausgelöst. Also besser keinen Link, sondern einen Button anbieten:

                <form action=""><button onclick="window.print()">Seite ausdrucken</button></form>

                Wozu das <form>?

                Oder könnte man es irgendwie so lösen,
                dass dieser ganze Link bei deaktiviertem Javascript gar nicht
                erst zu sehen ist?

                Klar, du schreibst das mit JavaScript ins Dokument:

                <script type="text/javascript>[code lang=javascript]document.write('[code lang=html]<form action=""><button onclick="window.print()">Seite ausdrucken</button></form>')[/code]</script>[/code]

                Wozu das <form>?

                - Sven Rautenberg

                --
                My sssignature, my preciousssss!
                1. Hi,

                  Klar, du schreibst das mit JavaScript ins Dokument:
                  <script type="text/javascript>[code lang=javascript]document.write('[code lang=html]<form action=""><button onclick="window.print()">Seite ausdrucken</button></form>')[/code]</script>[/code]

                  Aber doch nicht bedingungslos, sondern nur, wenn die print-Methode auch existiert ...

                  Wozu das <form>?

                  Damit auch Sie morgen noch kraftvoll ausdrucken können ...
                  (auch wenn Sie einen Netscape Uralt haben - der stellt form controls nur innerhalb von form-Elementen dar).

                  cu,
                  Andreas

                  --
                  Warum nennt sich Andreas hier MudGuard?
                  Schreinerei Waechter
                  Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                2. Hello out there!

                  <form action=""><button onclick="window.print()">Seite ausdrucken</button></form>

                  Wozu das <form>?

                  Weil ich (X)HTML Strict schreibe; da ist button nur innerhalb von form erlaubt. In Transitional ginge es auch ohne form.

                  Gerade nochmal https://forum.selfhtml.org/?t=124427&m=801517: Ingo ist von Strict wieder abgekommen. Schade.

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                  1. Hi,

                    Weil ich (X)HTML Strict schreibe; da ist button nur innerhalb von form erlaubt. In Transitional ginge es auch ohne form.

                    Falsch. http://validator.w3.org/check?uri=http%3A%2F%2Ftemp.andreas-waechter.de%2Finput.html&charset=(detect+automatically)&doctype=Inline&ss=1

                    button-Elemente sind gewöhnliche inline-Elemente, dürfen also überall dort vorkommen, wo auch andere inline-Elemente vorkommen. Ein form-Element braucht es nicht, um valide zu sein.

                    cu,
                    Andreas

                    --
                    Warum nennt sich Andreas hier MudGuard?
                    Schreinerei Waechter
                    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
                    1. Hallo MudGuard.

                      button-Elemente sind gewöhnliche inline-Elemente, dürfen also überall dort vorkommen, wo auch andere inline-Elemente vorkommen. Ein form-Element braucht es nicht, um valide zu sein.

                      Für strikte Validität müsste button sogar noch in ein Blockelement eingefasst werden, da Inlineelemente nicht direkt in form erlaubt sind.

                      Einen schönen Samstag noch.

                      Gruß, Ashura

                      --
                      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                      mathbr:del.icio.us/ mathbr:w00t/
                  2. Moin!

                    <form action=""><button onclick="window.print()">Seite ausdrucken</button></form>

                    Wozu das <form>?

                    Weil ich (X)HTML Strict schreibe; da ist button nur innerhalb von form erlaubt. In Transitional ginge es auch ohne form.

                    Kannst du das belegen? Der W3C-Validator meckert nämlich nicht, wenn <button> ganz ohne <form> auftritt. Weder in HTML 4.01 noch XHTML 1.0.

                    Und die DTD sagt auch genau das Gegenteil von dir:

                    <!ENTITY % formctrl "INPUT | SELECT | TEXTAREA | LABEL | BUTTON">
                    <!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
                    <!ELEMENT P - O (%inline;)*            -- paragraph -->

                    Buttons innerhalb von Blockelementen, die selbst inline zulassen, sind erlaubt. Sowohl die neuen <button>, als auch die älteren (und auch im IE in Formularen funktionierenden <input>).

                    - Sven Rautenberg

                    --
                    My sssignature, my preciousssss!
                    1. Hello out there!

                      Weil ich (X)HTML Strict schreibe; da ist button nur innerhalb von form erlaubt. In Transitional ginge es auch ohne form.

                      Kannst du das belegen?

                      Die letzte Aussage ja. ;-)

                      Die erste revidiere ich dahingehend, dass

                      <body>  
                        <p>foo</p>  
                        <button>bar</button>  
                        <p>baz</p>  
                      </body>
                      

                      in Strict nicht erlaubt ist.

                      Der W3C-Validator meckert nämlich nicht, wenn <button> ganz ohne <form> auftritt.

                      ... wenn’s denn bspw. innerhalb eines p ist. Wieder was gelernt, danke auch an MudGuarDTD. ;-)

                      See ya up the road,
                      Gunnar

                      --
                      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                  3. Lieber Gunnar

                    Ingo ist von Strict wieder abgekommen. Schade.

                    Wegen der Frames.
                    Die gibts doch in Strickt nicht, oder?

                    Gruß
                    Ingo

                    1. Hallo Ingo.

                      Wegen der Frames.
                      Die gibts doch in Strickt nicht, oder?

                      Das nicht, aber die Frames können (X)HTML Strict sein, wohingegen das Frameset (logischerweise) (X)HTML Frameset sein muss.

                      Einen schönen Samstag noch.

                      Gruß, Ashura

                      --
                      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                      mathbr:del.icio.us/ mathbr:w00t/
                      1. Hello out there!

                        wohingegen das Frameset (logischerweise) (X)HTML Frameset sein muss.

                        Ein Frameset muss (logischerweise) GAR NICHT sein. SCNR.

                        See ya up the road,
                        Gunnar

                        --
                        “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                        1. Hallo Gunnar.

                          wohingegen das Frameset (logischerweise) (X)HTML Frameset sein muss.

                          Ein Frameset muss (logischerweise) GAR NICHT sein. SCNR.

                          Dessen ungeachtet ist (X)HTML Strict bei den Frames wohl doch nicht machbar, da man hier das für Framesets normalerweise erforderliche target-Attribut nicht zur Verfügung stehen hat.

                          Einen schönen Samstag noch.

                          Gruß, Ashura

                          --
                          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
                          mathbr:del.icio.us/ mathbr:w00t/
                          1. Hallo

                            Dessen ungeachtet ist (X)HTML Strict bei den Frames wohl doch nicht machbar, da man hier das für Framesets normalerweise erforderliche target-Attribut nicht zur Verfügung stehen hat.

                            OK, dann ist (X)HTML Strict bei meiner Navigation nicht machbar,
                            weil ich da ja das target-Attribut brauche.

                            Aber ich könnte doch dann die Seiten, welche über die Navigation
                            im rechten Frame aufgerufen bzw. angezeigt werden in (X)HTML Strict
                            machen. Weil ich da doch dann wieder keintarget-Attribut brauche.
                            Oder?

                            Bisher bin ich immer davon ausgegangen, dass man sich beim Doctype
                            für einen entscheiden soll, welche dann für die ganze Webpräsenz (inkl. aller html-Dateien) gilt. Aber das ist ja wohl eher Quatsch, oder?

                            Ist es denn sinnvoller, sich bei jeder einzelnen html-Seite
                            zu überlegen, welcher Doctype der richtige ist?

                            Gruß
                            Ingo

                            1. Hello out there!

                              Grmpf, Doppelposting. Habe dort schon geantwortet.

                              OK, dann ist (X)HTML Strict bei meiner Navigation nicht machbar,
                              weil ich da ja das target-Attribut brauche.

                              Ja.

                              Aber ich könnte doch dann die Seiten, welche über die Navigation
                              im rechten Frame aufgerufen bzw. angezeigt werden in (X)HTML Strict
                              machen. Weil ich da doch dann wieder keintarget-Attribut brauche.

                              Ja.

                              Bisher bin ich immer davon ausgegangen, dass man sich beim Doctype
                              für einen entscheiden soll, welche dann für die ganze Webpräsenz (inkl. aller html-Dateien) gilt. Aber das ist ja wohl eher Quatsch, oder?

                              Ja.

                              Ist es denn sinnvoller, sich bei jeder einzelnen html-Seite
                              zu überlegen, welcher Doctype der richtige ist?

                              Ja.

                              See ya up the road,
                              Gunnar

                              --
                              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                              1. Hallo

                                Grmpf, Doppelposting]. Habe dort schon geantwortet.

                                Ups, ja sorry.
                                Dann bitte hier nicht weiterposten,
                                sondern hier: https://forum.selfhtml.org/?t=124427&m=801976

                                Gruß
                                Ingo

                    2. Hallo Ingo,

                      Wegen der Frames.
                      Die gibts doch in Strickt nicht, oder?

                      ich hab jedenfalls noch keine gestrickten Rahmen gesehen. ;-)

                      *scnr*
                       Martin

                      --
                      Lieber Blödeleien als blöde Laien.
              2. Lieber Gunnar

                <script type="text/javascript>[code lang=javascript]document.write('[code lang=html]<form action=""><button onclick="window.print()">Seite ausdrucken</button></form>')[/code]</script>[/code]

                Ja super.
                So hab ichs nun gemacht.
                http://spaceart.de/_Test/produkte/str006.htm

                Danke und Gruß aus Münster
                Ingo

                1. Hello out there!

                  So hab ichs nun gemacht.

                  <script type="text/javascript>[code lang=javascript]document.write('[code lang=html]<form action=""><button onclick="window.print()">&nbsp;&nbsp;Seite drucken&nbsp;&nbsp;</button></form>')[/code]</script>[/code]

                  Dass form nicht sein muss und button in den Strict-Varianten nicht Kind von body oder form sein darf, hast du diesem Thread ja sicher schon entnommen.

                  Aber wozu zum Geier die &nbsp;? Dass man Randabstände mit CSS festlegt, weißt du doch.

                  Nicht wieder im Niveau abfallen! Und warum Transitional? Und warum Frames?

                  See ya up the road,
                  Gunnar

                  --
                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                  1. Lieber Gunnar

                    Dass form nicht sein muss und button in den Strict-Varianten nicht Kind von body oder form sein darf, hast du diesem Thread ja sicher schon entnommen.

                    Ja, damit werde ich mich nochmal befassen.

                    Aber wozu zum Geier die &nbsp;? Dass man Randabstände mit CSS festlegt, weißt du doch.

                    OK, ist mir so reingerutscht :)
                    Werde ich noch korrigieren.

                    Nicht wieder im Niveau abfallen!

                    OK, OK ;-)
                    Hast ja recht.

                    Und warum Transitional? Und warum Frames?

                    Also, für Frames habe ich mich nun fest entschlossen.
                    Dabei möchte ich nun auch bleieben.

                    Transitional? Geht doch bei Frames nicht anders, oder?

                    Dazu gleich mal ne weitere Frage.
                    Kann ich diese Doctypen eigentlich auch "gemischt" anwenden?
                    Also wenn ich z.B. eine html-Datei habe, die etwas verwendet,
                    was unter Strict nicht erlaubt ist und andere html-Dateien
                    die richtig Strict sind?

                    Sollte ich mich da für meine gesamte Web-Präsentation für
                    einen einzigen Doctype entscheiden?

                    Oder sollte ich das für jede einzelne html-Datei getrennt betrachten?

                    Gruß
                    Ingo

                    1. Hello out there!

                      Also, für Frames habe ich mich nun fest entschlossen.
                      Dabei möchte ich nun auch bleieben.

                      Naja, schade.

                      Transitional? Geht doch bei Frames nicht anders, oder?

                      Im Menü, wo das target-Attribut vorkommt, nicht. In anderen Dokumenten schon. Die Inhalts-Dokumente sind doch sicher Strict?

                      Sollte ich mich da für meine gesamte Web-Präsentation für
                      einen einzigen Doctype entscheiden?
                      Oder sollte ich das für jede einzelne html-Datei getrennt betrachten?

                      Ja, es spricht nichts dagegen, in Strict-konformen Dokumenten auch diesen Doctype anzugeben.

                      Auch in Dokumenten, die z.B. wegen target-Attributen nur Transitional sind, würde ich aber trotzdem keine in Strict unerlaubten Verschachtelungen machen (button als Kind von body oder form). Dann hast du, wenn du vom Irrweg der Frames wieder abgekommen sein wirst und die target-Attibute rausschmeißt, Strict-konforme Dokumente.

                      See ya up the road,
                      Gunnar

                      --
                      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                      1. Lieber Gunnar

                        Ja, es spricht nichts dagegen, in Strict-konformen Dokumenten auch diesen Doctype anzugeben.

                        OK, dann werde ich mich nun mal dran machen
                        und die Docytpes meiner Dokumente anpassen.

                        Für Framesets gibts da ja nun 2 Doytypes:
                        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
                        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
                        Der eine für HTML und der andere für XHTML

                        Welchen sollte ich denn da nun für meine Frameset-Datei verwenden?
                        Ich habe mir das hier http://de.selfhtml.org/html/xhtml/unterschiede.htm
                        gerade mal komplett durchgelesen.
                        Aber so insgesamt übersteigt das etwas meine Kompetenz.
                        So richtig viel schlauer, ob ich meine Seite nun in
                        HTML oder in XHTML machen soll, bin ich leider noch nicht.

                        Mein Anliegen ist im Grunde ein ganz schlichter Online-Shop,
                        der auf möglichst vielen Plattformen, Browsern, Spielekonsolen,
                        Kühlschrank-Displays und was da noch so alles kommt,
                        gleich bzw. gut aussieht und funktioniert.

                        Was mach ich denn nun, XHTML oder HTML?
                        Kannst Du mir da vielleicht einen abschliessenden Rat geben?

                        Gruß
                        Ingo

                        1. Hello out there!

                          Was mach ich denn nun, XHTML oder HTML?
                          Kannst Du mir da vielleicht einen abschliessenden Rat geben?

                          XHTML.

                          XML zwingt zu sauberer Notation, so’n Gemanschel wie in SGML (Weglassen von Tags) ist nicht möglich, was die Fehlersuche erleichtert.

                          Außerdem lassen sich auf XHTML-Dokumente XML-Werkzeuge wie XSLT ansetzen. Man weiß nie, vielleicht ist es mal nützlich.

                          See ya up the road,
                          Gunnar

                          --
                          “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                          1. Lieber Gunnar

                            XHTML.

                            XML zwingt zu sauberer Notation, so’n Gemanschel wie in SGML (Weglassen von Tags) ist nicht möglich, was die Fehlersuche erleichtert.

                            Außerdem lassen sich auf XHTML-Dokumente XML-Werkzeuge wie XSLT ansetzen. Man weiß nie, vielleicht ist es mal nützlich.

                            OK, alles klar, ist gebont.

                            Wie ist das eigentlich, wenn ich ein XHTML-Dokument habe,
                            welches aber nicht ganz 100%tig valide ist?
                            Hat das dann irgendwelche "Auswirkungen".

                            Ich frage das, weil mein Frameset durch Einsatz von:
                            <frameset onLoad="checkFramecall()" cols="*,786,*" frameborder="0" framespacing="0" border="0">
                            eben ja nicht ganz valide ist.

                            Verzichten kann/will ich aber auf das obige eben auch nicht.

                            Gruß
                            Ingo

                            1. Hello out there!

                              Wie ist das eigentlich, wenn ich ein XHTML-Dokument habe,
                              welches aber nicht ganz 100%tig valide ist?

                              Sowas gibt es nicht. Entweder das Dokument entspricht den Regeln der XHTML-DTD oder es ist kein XHTML.

                              Und [</cites/old/482@title=ZITAT482>] ;-)

                              Hat das dann irgendwelche "Auswirkungen".

                              Browser verarbeiten alles, was ihnen als text/html angeboten wird, mit ihren Tag-Soup-Parser, sind also recht fehlertolerant.

                              Ein XML-Prozessor wird sich evtl. anders verhalten: Fehler, kritischer Fehler [XML].

                              <frameset onLoad="checkFramecall()" cols="*,786,*" frameborder="0" framespacing="0" border="0">
                              eben ja nicht ganz valide ist.

                              Es ist kein XHTML, aber wohlgeformtes XML [XML]. Das sollte also kein kritischer Fehler sein.

                              See ya up the road,
                              Gunnar

                              --
                              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                              1. Lieber Gunnar

                                Sowas gibt es nicht. Entweder das Dokument entspricht den Regeln der XHTML-DTD oder es ist kein XHTML.
                                Und [</cites/old/482@title=ZITAT482>] ;-)

                                OK, ich verstehe.

                                Nun habe ich hier z.B. ein Dokument, welches folgendes enthält:
                                <body onLoad="checkFrameset()">

                                Dadurch ist es ja nun kein valides XHTML Strict mehr.
                                Kann ich es denn trotdem so lassen,
                                oder sollte ich da lieber einen anderen Doctype als
                                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                                wählen?

                                Gruß
                                Ingo

                                1. Hello out there!

                                  Nun habe ich hier z.B. ein Dokument, welches folgendes enthält:
                                  <body onLoad="checkFrameset()">

                                  Dadurch ist es ja nun kein valides XHTML Strict mehr.
                                  Kann ich es denn trotdem so lassen,
                                  oder sollte ich da lieber einen anderen Doctype […]
                                  wählen?

                                  Nein, du solltest die <http://de.selfhtml.org/html/xhtml/unterschiede.htm@title=Unterschiede zwischen XHTML und HTML> beachten, hier besonders den zur http://de.selfhtml.org/html/xhtml/unterschiede.htm#kleinschreibung@title=Kleinschreibung.

                                  Oder – noch besser – nicht nur Struktur (HTML) und Darstellung (CSS), sondern auch Struktur und JavaScript trennen:

                                  In einem style-Bereich im head oder einer externen JavaScript-Datei:

                                  window.onload = function () {  
                                    checkFrameset()  
                                  }
                                  

                                  Wobei da auch gleich die Anweisungen der checkFrameset-Funktion stehen können.

                                  See ya up the road,
                                  Gunnar

                                  --
                                  “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                                  1. Lieber Gunnar

                                    ... hier besonders den zur http://de.selfhtml.org/html/xhtml/unterschiede.htm#kleinschreibung@title=Kleinschreibung.

                                    Ui, ja dieses kleine große "L" habe ich glatt übersehen.
                                    Ich dachte iummer, dass die Nicht-validität am nicht erlaubten
                                    onload im body-Element liegt.

                                    Oder – noch besser – nicht nur Struktur (HTML) und Darstellung (CSS), sondern auch Struktur und JavaScript trennen ...

                                    OK, damit werde ich mich dann also als nächstes befassen.

                                    Gruß
                                    Ingo

                                  2. Lieber Gunnar

                                    ... einer externen JavaScript-Datei:

                                    window.onload = function () {

                                    checkFrameset()
                                    }

                                    
                                    > Wobei da auch gleich die Anweisungen der checkFrameset-Funktion stehen können.  
                                      
                                    OK, ich habe nun in einer ausgelagerten Datei folgendes stehen:  
                                    ~~~javascript
                                    window.onload = function () {  
                                      if(!parent.inhalt)  
                                      location.href="http://spaceart.de/_Test/index.htm?" + location.href.substring(25);  
                                    }
                                    

                                    und in die htm-Datei dann dieses:
                                    <script src="../js-checkFrameset.js" type="text/javascript"></script>

                                    und das funktioniert wunderbar.
                                    Vielen Dank für die Iddee.

                                    Nun funktioniert diese Funktion ja logischerweise nur bei aktiviertem Javascript.
                                    Es handelt sich um eine Funktion, die bei aufgerufenen Deeplinks
                                    dafür sorgt, dass das Frameset nachgeladen und die aufgerufene Seite
                                    dann auch im entsprechenden Frame geladen wird.
                                    Mal probieren: http://spaceart.de/_Test/listen/modelle-action-horror-a.htm

                                    Wenn nun jemand so einen Deeplink mit deaktivierem Javascript aufruft,
                                    wird ja nur die ensprechende Seite angezeigt ohne meine Frame-Navigation.
                                    Dann wäre ja ein Link "hier gehts zur Startseite" ganz angebracht.
                                    Nun würde ich es aber gerne so machen, dass dieser Link
                                    nur angezeigt wird, wenn Javascript deaktiviert ist.
                                    Gibts dafür ne Lösung?

                                    Gruß
                                    Ingo

                                    1. Hello out there!

                                      Nun würde ich es aber gerne so machen, dass dieser Link
                                      nur angezeigt wird, wenn Javascript deaktiviert ist.
                                      Gibts dafür ne Lösung?

                                      http://de.selfhtml.org/html/transit/scripts.htm#noscript@title=noscript.

                                      See ya up the road,
                                      Gunnar

                                      --
                                      “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                                      1. Lieber Gunnar

                                        http://de.selfhtml.org/html/transit/scripts.htm#noscript@title=noscript.

                                        Gute Iddee, ich wusste garnicht, dass es so etwas gibt.
                                        Danke und Gruß aus Münster
                                        Ingo

                                    2. Hallo Ingo

                                      Dann wäre ja ein Link "hier gehts zur Startseite" ganz angebracht.

                                      Ja

                                      Nun würde ich es aber gerne so machen, dass dieser Link
                                      nur angezeigt wird, wenn Javascript deaktiviert ist.
                                      Gibts dafür ne Lösung?

                                      Kennst du <noscript>?

                                      Ich würde es allerdings allerdings anders lösen:
                                      SPACEart aus <p class="adressblock"> oder der gesamte Block wird als Link
                                      zur Startseite verwendet, und nur mittels Javascript ausgeblendet, wenn der
                                      Navigationsframe vorhanden ist.

                                      Auf Wiederlesen
                                      Detlef

                                      --
                                      - Wissen ist gut
                                      - Können ist besser
                                      - aber das Beste und Interessanteste ist der Weg dahin!
                                      1. Lieber Detlef

                                        Kennst du <noscript>?

                                        Nein, kannte ich bisher nicht.

                                        Ich würde es allerdings allerdings anders lösen:
                                        SPACEart aus <p class="adressblock"> oder der gesamte Block wird als Link
                                        zur Startseite verwendet, und nur mittels Javascript ausgeblendet, wenn der
                                        Navigationsframe vorhanden ist.

                                        Stimmt, mir ist gestern spät auch noch ein gefallen,
                                        dass dieser "hier gehts zur Startseite"-Link ja auch nicht zu sehen
                                        sein darf, wenn zwar Javascript deaktiviert ist,
                                        die Deeplink-Seite aber aber schon im Frameset angezeigt wird.

                                        Somit müsste ich doch abfragen, ob sich die Deeplink-Seite
                                        schon im Frameset befindet.
                                        Wenn ja, wird kein Link angezeigt.
                                        Wenn nein, wird der Link nur angezeigt, wenn Javascript deaktiviert ist.
                                        Hab ich das soweit richtig überlegt?

                                        Der <p class="adressblock"> ist übrigens nur für den Ausdruck bestimmt.
                                        Der wird auf der Webseite am Bildschirm ausgeblendet und nur
                                        beim Ausdruck per print-css gezeigt/gedruckt.

                                        Gruß
                                        Ingo

                                        1. Hallo Ingo

                                          Der <p class="adressblock"> ist übrigens nur für den Ausdruck bestimmt.
                                          Der wird auf der Webseite am Bildschirm ausgeblendet und nur
                                          beim Ausdruck per print-css gezeigt/gedruckt.

                                          Genau, er ist für den Druck vorgesehen.
                                          Warum?
                                          Wohl weil dann diese Angaben fehlen würden, ohne den Navigationsframe.

                                          So verrät eine Inhaltsseite ohne Frameset nichs, keine Firma, kein Name,
                                          kein Link zum Impressum.
                                          Ob da ein Link "hier gehts zur Startseite" oder die Anzeige der nötigen
                                          Angaben, mit Verlinkung zur Startseite besser ist, musst du selbst
                                          entscheiden.
                                          Schau es dir mal mit eingeblendeter Adresse an, ich finde es nicht störend.

                                          Auf Wiederlesen
                                          Detlef

                                          --
                                          - Wissen ist gut
                                          - Können ist besser
                                          - aber das Beste und Interessanteste ist der Weg dahin!
                                          1. Lieber Detlef

                                            Ob da ein Link "hier gehts zur Startseite" oder die Anzeige der nötigen
                                            Angaben, mit Verlinkung zur Startseite besser ist, musst du selbst
                                            entscheiden.

                                            OK, stimmt.
                                            Dann ist es doch folgendermassen am sinnvollsten:

                                            Wenn beim User Javascript aktiviert ist,
                                            tut das Script seine Arbeit und lädt das Frameset
                                            und die Navigation nach.
                                            Eingeblendet werden dann weder der Adressblock noch der
                                            Link zur Startseite (noscript).

                                            Wenn beim User Javascript deaktiviert ist,
                                            wird auf der Inhaltsseite der Adressblock eingeblendet.
                                            Und es wird ein Hinweis auf die fehlende Navigation mit
                                            Verlinkung zur Startseite eingeblendet.

                                            Stimmst Du mir da zu?
                                            Gruß
                                            Ingo

                                            1. Hallo Ingo

                                              Wenn beim User Javascript aktiviert ist,
                                              tut das Script seine Arbeit und lädt das Frameset
                                              und die Navigation nach.

                                              Dazu noch eine Anmerkung:

                                              Wenn index.htm über das Script aufgerufen wird, beginnt diese erstmal
                                              inhalt.htm zu laden, bevor dann die richtige Inhaltsseite geladen wird.
                                              Ich sehe also, wie die eine Seite aufgebaut wird und plötzlich dann erst
                                              die richtige.
                                              Zum Nachladen des Framesets würde ich eine index1.html verwenden, die mit
                                              index.htm fast identisch ist, allerdings eine fast leere Seite ins
                                              Inhaltsframe lädt. Diese Leerseite bekommt eine passende Hintergrundfarbe
                                              und zur Sicherheit einen Link zur index.htm.
                                              Dann würde ich das Javascript dahingehend ändern, dass bei direktem
                                              Aufruf von index1.htm (ohne Parameter) index.htm geladen wird, wobei dann
                                              aus dieser checkFramecall() entfallen kann.

                                              Eingeblendet werden dann weder der Adressblock noch der
                                              Link zur Startseite (noscript).

                                              Wenn du dies alles mittels Javascript ausblendest, ist noscript nicht
                                              nötig.

                                              Wenn beim User Javascript deaktiviert ist,
                                              wird auf der Inhaltsseite der Adressblock eingeblendet.

                                              Beachte dabei, dass es im Druck erscheinen soll, unabhängig davon, ob
                                              Javascript aktiviert ist oder nicht.

                                              Und es wird ein Hinweis auf die fehlende Navigation mit
                                              Verlinkung zur Startseite eingeblendet.

                                              Wenn du nicht die Adresse als Link verwenden willst, sondern einen extra
                                              Linktext verwenden willst, dann wäre die Variante, diesen in einen
                                              noscript-Bereich einzuschließen sicher einfacher und auch akzeptabel.

                                              Auf Wiederlesen
                                              Detlef

                                              --
                                              - Wissen ist gut
                                              - Können ist besser
                                              - aber das Beste und Interessanteste ist der Weg dahin!
                                              1. Lieber Detlef

                                                Wenn index.htm über das Script aufgerufen wird, beginnt diese erstmal
                                                inhalt.htm zu laden, bevor dann die richtige Inhaltsseite geladen wird.
                                                Ich sehe also, wie die eine Seite aufgebaut wird und plötzlich dann erst
                                                die richtige.

                                                Ja, das fand ich auch immer etwas unschön.
                                                Ich hatte bisher aber keine Idee, wie ich das besser lösen kann.
                                                Aber dank Dir, ist das ja nun anders!

                                                Zum Nachladen des Framesets würde ich eine index1.html verwenden, die mit
                                                index.htm fast identisch ist, allerdings eine fast leere Seite ins
                                                Inhaltsframe lädt. Diese Leerseite bekommt eine passende Hintergrundfarbe
                                                und zur Sicherheit einen Link zur index.htm.

                                                Wirklích eine tolle Idee ... danke!
                                                Hier ein Deep-Link, bei dem das schon wie von Dir beschrieben
                                                umgesetzt ist: http://spaceart.de/_Test/listen/modelle-action-horror-a.htm
                                                So hast Du das doch gemeint, oder?

                                                Dann würde ich das Javascript dahingehend ändern, dass bei direktem
                                                Aufruf von index1.htm (ohne Parameter) index.htm geladen wird, wobei dann
                                                aus dieser checkFramecall() entfallen kann.

                                                Hmmm, da scheitern meine fast nicht vorhandenen Javascipt-Kenntnisse dann leider etwas ;-)
                                                Bisher sieht das entsprechende Javascript ja so aus:~~~javascript <script type="text/javascript">
                                                      <!--
                                                       function checkFramecall() {
                                                         if(location.search)
                                                         self.frames["inhalt"].location.href="http://SPACEart.de/_Test/"+location.search.substring(1);
                                                      }
                                                      //-->
                                                    </script>

                                                  
                                                Leider weiss ich nicht, wie ich da noch die Abfrage,  
                                                ob die index1.htm direkt (also ohne Parameter) aufgerufen wurde  
                                                unterbringe (und die dann zu erfolgende Weiterleitung auf die index.htm).  
                                                  
                                                  
                                                
                                                > Wenn du nicht die Adresse als Link verwenden willst, sondern einen extra  
                                                > Linktext verwenden willst, dann wäre die Variante, diesen in einen  
                                                > noscript-Bereich einzuschließen sicher einfacher und auch akzeptabel.  
                                                  
                                                Ich denke, ich werde die Sache für den Ausdruck und die Sache  
                                                für das deaktivierte Javascript getrennt handhaben.  
                                                Also einen Text mit Link für denn Fall von deaktiviertem Javascript  
                                                mittels noscript einblenden.  
                                                Dieser wird dann natürlich per Druck-css auf Papier nicht erscheinen.  
                                                Daran werde ich mich aber wohl erst heute nachmittag machen können.  
                                                  
                                                Gruß  
                                                Ingo
                                                
                                                1. Hallo Ingo

                                                  Hier ein Deep-Link, bei dem das schon wie von Dir beschrieben
                                                  umgesetzt ist: http://spaceart.de/_Test/listen/modelle-action-horror-a.htm
                                                  So hast Du das doch gemeint, oder?

                                                  Fast.
                                                  Ich würde aus inhalt1.htm noch meta description und meta keywords
                                                  rausschmeißen, stattdessen [link:http://de.selfhtml.org/html/kopfdaten/meta.htm#robots@title=<meta name="robots" content="noindex">] einfügen.
                                                  Außerdem  onload="checkFrameset()" aus dem body und das Javascript ändern.

                                                      <script type="text/javascript">  
                                                        if(!parent.inhalt)  
                                                          location.href="http://spaceart.de/_Test/index.htm";  
                                                      </script>  
                                                  
                                                  

                                                  Diese Seite soll doch nie gefunden oder direkt aufgerufen werden, und wenn
                                                  doch, dann möglichst zu deiner Startseite weiterleiten.

                                                  Hmmm, da scheitern meine fast nicht vorhandenen Javascipt-Kenntnisse dann leider etwas ;-)

                                                  Du lernst das auch noch.

                                                  Leider weiss ich nicht, wie ich da noch die Abfrage,
                                                  ob die index1.htm direkt (also ohne Parameter) aufgerufen wurde
                                                  unterbringe (und die dann zu erfolgende Weiterleitung auf die index.htm).

                                                  Du fragst doch bereits ab, ob sie _mit_ Parameter aufgerufen wird.
                                                  if(location.search)
                                                  Es gibt doch auch else.
                                                  Du hast doch in deinen Scripten bereits Weiterleitungen, da kann es doch
                                                  nicht schwer sein, einen else-Zweig mit einer Weiterleitung zu index.htm
                                                  zu notieren.

                                                  Auf Wiederlesen
                                                  Detlef

                                                  --
                                                  - Wissen ist gut
                                                  - Können ist besser
                                                  - aber das Beste und Interessanteste ist der Weg dahin!
                                                  1. Lieber Detlef

                                                    Fast.
                                                    Ich würde aus inhalt1.htm noch meta description und meta keywords
                                                    rausschmeißen, stattdessen [link:http://de.selfhtml.org/html/kopfdaten/meta.htm#robots@title=<meta name="robots" content="noindex">] einfügen.

                                                    OK, wird gemacht.

                                                    Außerdem  onload="checkFrameset()" aus dem body und das Javascript ändern.

                                                    <script type="text/javascript">

                                                    if(!parent.inhalt)
                                                            location.href="http://spaceart.de/_Test/index.htm";
                                                        </script>

                                                      
                                                    Hö, muss es denn nicht heissen:  
                                                    ~~~javascript
                                                           <script type="text/javascript">  
                                                             if(!parent.inhalt)  
                                                             location.href="http://spaceart.de/_Test/index1.htm?" + location.href.substring(25);  
                                                           </script>
                                                    

                                                    Du fragst doch bereits ab, ob sie _mit_ Parameter aufgerufen wird.
                                                    if(location.search)
                                                    Es gibt doch auch else.
                                                    Du hast doch in deinen Scripten bereits Weiterleitungen, da kann es doch
                                                    nicht schwer sein, einen else-Zweig mit einer Weiterleitung zu index.htm
                                                    zu notieren.

                                                    Dann wäre doch das hier in der index1.htm richtig:

                                                        <script type="text/javascript">  
                                                          <!--  
                                                           function checkFramecall() {  
                                                             if(location.search)  
                                                               self.frames["inhalt"].location.href="http://SPACEart.de/_Test/"+location.search.substring(1);  
                                                             else  
                                                               top.location.href = "index.htm";  
                                                          }  
                                                          //-->  
                                                        </script>
                                                    

                                                    oder?

                                                    Mannomann nun raucht mir aber echt der Kopf :)

                                                    Bis jetzt verstehe ich das so:
                                                    1. Eine Unterseite wird aufgerufen z.B.:
                                                    http://spaceart.de/_Test/listen/modelle-action-horror-a.htm

                                                    2. Das Script in dieser Seite leitet weiter nach:
                                                    http://spaceart.de/_Test/index1.htm?listen/modelle-action-horror-a.htm

                                                    3. Das Script in der index1.htm (Frameset) überprüft,
                                                    ob die Haupt-URL mit angehängtem Parameter aufgerufen wurde.
                                                    Wenn nein (else), wird umgeleitet zu index.htm.
                                                    Wenn ja (if), wird umgeleitet zu ......

                                                    Ne, tut mir Leid, hier versage ich jetzt doch.
                                                    Ich würde ja gerne mal diesen genauen Ablauf der ganzen
                                                    Weiterleitungsgeschichte verstehen.
                                                    Aber da ich eben nicht Javascript kann, check ichs nicht wirklich.
                                                    Für heute geb ich erstmal auf.

                                                    Gruß
                                                    Ingo

                                                    1. Hallo Ingo

                                                      Hö, muss es denn nicht heissen:

                                                      <script type="text/javascript">

                                                      if(!parent.inhalt)
                                                               location.href="http://spaceart.de/_Test/index1.htm?" + location.href.substring(25);
                                                             </script>

                                                        
                                                      Soll denn ein unerwünschter Aufruf dieser reinen Füllseite (inhalt1.htm)  
                                                      dazu führen, dass genau diese dann als Inhalt im Frameset erscheint und  
                                                      dort stehen bleibt?  
                                                        
                                                      Wohl nicht.  
                                                      Besser wäre es doch, wenn in dem Fall deine Startseite geladen würde.  
                                                      Deshalb `location.href="http://spaceart.de/_Test/index.htm"`{:.language-javascript} ohne angehängte  
                                                      Parameter.  
                                                        
                                                      
                                                      > Dann wäre doch das hier in der index1.htm richtig:  
                                                      > ~~~javascript
                                                      
                                                          <script type="text/javascript">  
                                                      
                                                      >       <!--  
                                                      >        function checkFramecall() {  
                                                      >          if(location.search)  
                                                      >            self.frames["inhalt"].location.href="http://SPACEart.de/_Test/"+location.search.substring(1);  
                                                      >          else  
                                                      >            top.location.href = "index.htm";  
                                                      >       }  
                                                      >       //-->  
                                                      >     </script>
                                                      
                                                      

                                                      oder?

                                                      Fast, entweder

                                                        if() {  
                                                          foo;  
                                                        } else {  
                                                          bar;  
                                                        }  
                                                      
                                                      ~~~oder  
                                                      ~~~javascript
                                                        if()  
                                                          foo  
                                                        else  
                                                          bar;  
                                                      
                                                      

                                                      Bis jetzt verstehe ich das so:

                                                      1. Eine Unterseite wird aufgerufen z.B.:
                                                        http://spaceart.de/_Test/listen/modelle-action-horror-a.htm

                                                      2. Das Script in dieser Seite leitet weiter nach:
                                                        http://spaceart.de/_Test/index1.htm?listen/modelle-action-horror-a.htm

                                                      ... nach http://spaceart.de/_Test/index1.htm und liefert ihren eigenen
                                                      relativen Pfad (listen/modelle-action-horror-a.htm) als Parameter mit.

                                                      1. Das Script in der index1.htm (Frameset) überprüft,
                                                        ob die Haupt-URL mit angehängtem Parameter aufgerufen wurde.
                                                        Wenn nein (else), wird umgeleitet zu index.htm.

                                                      Wird voraussichtlich nur auftreten, wenn index1.htm direkt aufgerufen wird.
                                                      Bei einer Weiterleitung von einer Inhaltsseite ist der Pfad der umleitenden
                                                      Seite als Parameter vorhanden.

                                                      Wenn ja (if), wird umgeleitet zu ......

                                                      Dann wird nicht umgeleitet sondern im Frame "inhalt" (self.frames["inhalt"])
                                                      mittels .location.href="..." eine neue Resource geladen.
                                                      Diese URI der Resource wird aus zwei Teilen gebildet, aus deinem Pfad
                                                      "http://SPACEart.de/_Test/" und dem Parameter, von dem mittels substring(1)
                                                      das führende Fragezeichen entfernt wurde.
                                                      Das ergibt in diesem Fall:
                                                      "http://SPACEart.de/_Test/listen/modelle-action-horror-a.htm"

                                                      Auf Wiederlesen
                                                      Detlef

                                                      --
                                                      - Wissen ist gut
                                                      - Können ist besser
                                                      - aber das Beste und Interessanteste ist der Weg dahin!
                                                      1. Lieber Detlef

                                                        Leider will es immer noch nicht klappen.
                                                        Sieh selbst: http://spaceart.de/_Test/listen/modelle-action-horror-a.htm

                                                        Ich schreibe hier nochmal alle verwendeten Scripte auf:

                                                        In der Inhaltsseite, die ja umgeleitet werden soll, stehr folgendes:

                                                          
                                                        <script src="../js-checkFrameset.js" type="text/javascript"></script>  
                                                          
                                                        window.onload = function () {  
                                                          if(!parent.inhalt)  
                                                          location.href="http://spaceart.de/_Test/index1.htm?" + location.href.substring(25);  
                                                        }  
                                                        
                                                        

                                                        In der inhalt1.htm steht folgendes:

                                                          
                                                        <script type="text/javascript">  
                                                        <!--  
                                                        if(!parent.inhalt)  
                                                        location.href="http://spaceart.de/_Test/index.htm";  
                                                        }  
                                                             /-->  
                                                            </script>  
                                                        
                                                        

                                                        in der index1-htm steht folgendes:

                                                          
                                                        <script type="text/javascript">  
                                                        <!--  
                                                        function checkFramecall() {  
                                                        if(location.search)  
                                                        self.frames["inhalt"].location.href="http://SPACEart.de/_Test/"+location.search.substring(1);  
                                                        } else {  
                                                        top.location.href = "index.htm";  
                                                        }  
                                                        //-->  
                                                        </script>  
                                                        
                                                        

                                                        Wo ist denn da nun noch der Fehler?

                                                        Aber nun mal was anderes:
                                                        Du brichst Dir hier nun schon seit Tagen einen Ab mit mir,
                                                        wofür ich Dir sehr danke. Ich hab schon wieder so einiges gelernt,
                                                        durch diese ganze Herumexperimentiererei.

                                                        Aber aufgrund der Tatsache, dass es trotz dieser Umleitungsscripte
                                                        irgendwie keine so richtig 100%tig gescheite Lösung mit Frames gibt
                                                        (wenn der Unser Javascript deaktiviert hat),
                                                        überlege ich ernsthaft, ob ich doch wieder ein Framelose Technik
                                                        zurückgreifen soll.

                                                        Du und auc die anderen netten Helfer hier werden das sicher befürworten.

                                                        Hoffentlich seit Ihr nun nicht sauer, dass ich da in letzter Zeit
                                                        immer hin-und-her springe. Aber diese Probleme mit der
                                                        Frame-Umleitungs-Geschichte (bei deaktiviertem Javascrip)
                                                        sind mir auch erst so richtig klar geworden, durch dieses Herumprobieren.

                                                        Somit ist es vielleicht beser, wenn wir diesen Thread hier nun
                                                        abschliessen, und ich mich wieder an die Arbeit für ein CSS-basierters framelosesw Layout mache.

                                                        Oder?
                                                        Was meinst Du?

                                                        Gruß
                                                        Ingo

                                                        1. Hallo Ingo

                                                          Leider will es immer noch nicht klappen.

                                                          In der inhalt1.htm steht folgendes:

                                                          <script type="text/javascript">
                                                          <!--
                                                          if(!parent.inhalt)
                                                          location.href="http://spaceart.de/_Test/index.htm";
                                                          }

                                                          ^
                                                          Wo kommt diese schließende Klammer her?

                                                          /-->

                                                          ^
                                                          Was macht dieser fehlerhafte Kommentar hier?

                                                          </script>

                                                          
                                                          >   
                                                          > in der index1-htm steht folgendes:  
                                                          >   
                                                          > ~~~javascript
                                                          
                                                          <script type="text/javascript">  
                                                          
                                                          > <!--  
                                                          > function checkFramecall() {  
                                                          
                                                                                       ^  
                                                          
                                                          > if(location.search)  
                                                          > self.frames["inhalt"].location.href="http://SPACEart.de/_Test/"+location.search.substring(1);  
                                                          > } else { 
                                                          
                                                          

                                                          ^
                                                          Hier ist die Funktion checkFramecall() zu Ende.
                                                          Damit steht else ohne vorheriges if -> Syntax Error
                                                          Das Script wird nicht ausgeführt.

                                                          Aber nun mal was anderes:
                                                          Du brichst Dir hier nun schon seit Tagen einen Ab mit mir,
                                                          wofür ich Dir sehr danke.

                                                          Ich habe schon fast an mir gezweifelt, dass ich mich nochmal mit den
                                                          Probleme von Nachladescripten beschäftige. ;-)

                                                          Lesestoff aus dem Archiv:
                                                          Frames nachladen
                                                          Suchmaschinen und Framefenster
                                                          suchmaschinen und frames
                                                          suchmaschinen und frames
                                                          Einträge in Suchmaschine - Falsche Darstellung beim anklicken

                                                          Somit ist es vielleicht beser, wenn wir diesen Thread hier nun
                                                          abschliessen, und ich mich wieder an die Arbeit für ein CSS-basierters framelosesw Layout mache.

                                                          Das würde ich empfehlen. Meiner Meinung nach benötigt deine Seite absolut
                                                          kein Frameset.
                                                          Keine der Seiten, die ins Frameset gelden werden ist ohne dieses komplett.
                                                          Ein Home-Link stellt dabei nur eine Krücke dar, ein Nachladeskript auch,
                                                          nur eine aufwändigere.

                                                          Auf Wiederlesen
                                                          Detlef

                                                          --
                                                          - Wissen ist gut
                                                          - Können ist besser
                                                          - aber das Beste und Interessanteste ist der Weg dahin!
                                                          1. Lieber Detlef

                                                            Das würde ich empfehlen. Meiner Meinung nach benötigt deine Seite absolut
                                                            kein Frameset.

                                                            Yep, ich habe auch schon angefangen:
                                                            http://spaceart.de/_Test2/

                                                            Gruß
                                                            Ingo

                                                            1. Hallo Ingo

                                                              Yep, ich habe auch schon angefangen:
                                                              http://spaceart.de/_Test2/

                                                              Das hatte ich auch schonmal bereits vor längerer Zeit ;-).
                                                              SPACEArt

                                                              Auf Wiederlesen
                                                              Detlef

                                                              --
                                                              - Wissen ist gut
                                                              - Können ist besser
                                                              - aber das Beste und Interessanteste ist der Weg dahin!
                                                              1. Lieber Detlef

                                                                Das hatte ich auch schonmal bereits vor längerer Zeit ;-).
                                                                SPACEArt

                                                                Jou, ich erinnere mich.
                                                                Inzwischen habe ich ja viel hin-und-her probiert.

                                                                Aber: Learning by Doing, oder?

                                                                Gruß
                                                                Ingo

                                                                1. Hallo Ingo

                                                                  Inzwischen habe ich ja viel hin-und-her probiert.

                                                                  Aber: Learning by Doing, oder?

                                                                  Ich habe dich an dieses Beispiel erinnert, weil ich davon ausgehe, dass du
                                                                  dich seitdem weiter mit CSS beschäftigt hast und manches in dem Beispiel
                                                                  jetzt wohl besser verstehen und nachvollziehen kannst.

                                                                  Auf Wiederlesen
                                                                  Detlef

                                                                  --
                                                                  - Wissen ist gut
                                                                  - Können ist besser
                                                                  - aber das Beste und Interessanteste ist der Weg dahin!
                                                                  1. Lieber Detlef

                                                                    Ich habe dich an dieses Beispiel erinnert, weil ich davon ausgehe, dass du
                                                                    dich seitdem weiter mit CSS beschäftigt hast und manches in dem Beispiel
                                                                    jetzt wohl besser verstehen und nachvollziehen kannst.

                                                                    Ja, schon.
                                                                    Aber auf so ein Schnickschnack, wie eine in der Breite mitwachsende
                                                                    Navigation habe ich mir inzwischen abgeschminkt.

                                                                    Ich stehe da inzwischen eher auf etwas puristischere Sachen.
                                                                    Mal schauen, wie ich so klarkomme.

                                                                    Gruß
                                                                    Ingo

                                          2. Lieber Detlef

                                            So verrät eine Inhaltsseite ohne Frameset nichs, keine Firma, kein Name,
                                            kein Link zum Impressum.
                                            Ob da ein Link "hier gehts zur Startseite" oder die Anzeige der nötigen
                                            Angaben, mit Verlinkung zur Startseite besser ist, musst du selbst
                                            entscheiden.
                                            Schau es dir mal mit eingeblendeter Adresse an, ich finde es nicht störend.

                                            Nun bin ich auf eine Sache gestossen, die mir leider erst jetzt klar geworden ist.

                                            Wenn der User Javascript deaktiviert hat,
                                            wird ja das Nachladen der Frames nicht ausgeführt,
                                            wenn er eine Unterseite direkt aufruft.
                                            Und da wollte ich ja mit <noscript> dann eben die Asressangaben
                                            und den Link zur Startseite anzeigen.

                                            Wenn aber der User nun "normal" auf meiner Seite surft
                                            (also im ganz normalen Frameset), und Javascript deaktiviert hat,
                                            werden dann ja diese Adressangaben und der Link trotzdem angezeigt,
                                            obwohl sie dann ja garnicht nötig wären, weil dann ja
                                            die Navigation dass alles bietet.

                                            Somit müsste man ja eine Abfrage machen, ob die Unter-Seite in
                                            einem Frameset angezeigt wird.
                                            Und wenn das dann der Fall ist, werden die Adressangaben und der Link nicht angezeit.
                                            Wenn die Seite ohne Frame "drumherum" geladen ist,
                                            werden die Adressangaben und der Link eingeblendet.

                                            Also im Grunde so, dass die Anzeige der Adressangaben und des Links
                                            nur abhängig davon angezeigt wird, ob die Unterseite
                                            in einem Frameset geladen ist oder eben nicht.
                                            Und das ganze dann unabhängig, ob Javascript aktiviert ist oder deaktiviert.

                                            Ist das denn überhaupt machbar?
                                            Weil für so eine Abfrage, ob da ein Frameset ist oder nicht,
                                            wird ja wieder Javascript benötigt, oder?

                                            Boah, ich werd nich verrückt ;-)
                                            Fällt Dir dazu noch was ein?

                                            Gruß
                                            Ingo

                                            1. Hello out there!

                                              Boah, ich werd [noch] verrückt ;-)

                                              Eine zwanghafte Folge der Verwendung von Frames.

                                              Fällt Dir dazu noch was ein?

                                              Keine Frames!!111

                                              Ansonsten für Nutzer ohne JavaScript lieber eine nicht benötigte Navigation anzeigen als eine benötigte Navigation nicht anzeigen.

                                              See ya up the road,
                                              Gunnar

                                              --
                                              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                                              1. Lieber Gunnar

                                                Eine zwanghafte Folge der Verwendung von Frames.

                                                Tja :)

                                                Keine Frames!!

                                                Och menno.

                                                Ansonsten für Nutzer ohne JavaScript lieber eine nicht benötigte
                                                Navigation anzeigen als eine benötigte Navigation nicht anzeigen.

                                                OK, ich werd mal sehen, ob mir das was schönes
                                                einfällt, was design-mäßig nicht so blöd aussieht.

                                                Gruß
                                                Ingo

                                            2. Hallo Ingo

                                              Weil für so eine Abfrage, ob da ein Frameset ist oder nicht,
                                              wird ja wieder Javascript benötigt, oder?

                                              Boah, ich werd nich verrückt ;-)

                                              Was meinst du, warum wir uns so viel Mühe gegeben haben, dir bei einer
                                              framelosen Version deiner Seiten zu helfen?

                                              Fällt Dir dazu noch was ein?

                                              Jein.
                                              Du kannst ohne Javascript nicht feststellen, ob die Seite in einem
                                              Frameset geöffnet wurde, du könntest aber dafür sorgen, dass Adresse und
                                              Link außerhalb des Browserfensters sind (zumindest solange der User nicht
                                              dort hinscrollt), wenn sie über einen internen Link geöffnet wird.
                                              z.B.:
                                              <a href="listen/modelle-action-horror-a.htm#rubrik" target="inhalt">Action + Horror Modelle</a>

                                              Auf Wiederlesen
                                              Detlef

                                              --
                                              - Wissen ist gut
                                              - Können ist besser
                                              - aber das Beste und Interessanteste ist der Weg dahin!
                                2. Hallo Ingo

                                  Nun habe ich hier z.B. ein Dokument, welches folgendes enthält:
                                  <body onLoad="checkFrameset()">

                                  Wie wäre es denn mit:
                                  <body onload="checkFrameset()">
                                          ^

                                  Auf Wiederlesen
                                  Detlef

                                  --
                                  - Wissen ist gut
                                  - Können ist besser
                                  - aber das Beste und Interessanteste ist der Weg dahin!
                                  1. Lieber Detlef

                                    Wie wäre es denn mit:
                                    <body onload="checkFrameset()">
                                            ^

                                    Ui, ja, das hatte ich tatsächlich übersehen.
                                    Danke für den Tipp.

                                    Ich dachte, das es nicht valides XHTML ist,
                                    im body-Element kein onload erlaubt ist.
                                    Dass es nur an der Schreibweise lag, wusste ich nicht.

                                    Gruß
                                    Ingo

                          2. Lieber Gunnar

                            Nun mal was ganz anderes.

                            Wenn ich Deine kleine Webseite richtig veestehe,
                            machst Du ja Musik.

                            Kann man irgendwo im Internet was von Dir probehören?
                            Gruß
                            Ingo

                            1. Hello out there!

                              Kann man irgendwo im Internet was von Dir probehören?

                              Nö, musst selber vorbeikommen. ;-)

                              Wenn ich mir mal richtigen[tm] Webspace leiste, werd ich auch mal ein, zwei mp3s drauftun.

                              See ya up the road,
                              Gunnar

                              --
                              “Remember, in the end, nobody wins unless everybody wins.” (Bruce Springsteen)
                    2. Hallo Ingo

                      Dazu gleich mal ne weitere Frage.
                      Kann ich diese Doctypen eigentlich auch "gemischt" anwenden?

                      Ein Frameset teilt den Viewport in mehrere Teile, die unabhängig voneinander
                      verschiedene Resourcen enthalten können. Jedes einzelne Frame ist dabei
                      praktisch ein separates Browserfenster.
                      Kannst du mehrere unabhängige Browserfenster (oder Tabs) öffnen, die
                      Dokumente mit verschiedenen Doctypen enthalten?

                      Also wenn ich z.B. eine html-Datei habe, die etwas verwendet,
                      was unter Strict nicht erlaubt ist und andere html-Dateien
                      die richtig Strict sind?

                      Ja

                      Sollte ich mich da für meine gesamte Web-Präsentation für
                      einen einzigen Doctype entscheiden?
                      Oder sollte ich das für jede einzelne html-Datei getrennt betrachten?

                      Das hängt von dir und deinen Seiten ab.

                      Das Frameset selbst braucht Frameset.
                      Die Navigation wird Transitional brauchen (wegen target).
                      Bei den Inhaltsseiten solltest du prüfen, ob dort Links mit target-Attribut
                      nötig sind, und in wie vielen Seiten.
                      Wenn dort keine derartigen Links nötig sind oder nur in wenigen einzelnen
                      Seiten, die du gut überblicken kannst, dann würde ich für die Seiten ohne
                      target Strict verwenden.
                      Wenn es bunt gemischt wäre, dann lieber einheitlich Transitional.

                      Auf Wiederlesen
                      Detlef

                      --
                      - Wissen ist gut
                      - Können ist besser
                      - aber das Beste und Interessanteste ist der Weg dahin!
                      1. Lieber Detlef

                        Ich weiss auch nicht genau, welchem Wahnsinn ich da unterlegen war,
                        als ich immer davon ausgegangen bin, dass ich mir für einen
                        einzigen Doctype enscheiden muss ;-)
                        Warscheinlich hab ich einfach noch nicht drüber nachgedacht.
                        Obwohl mir das mit der Aufteilung des Viewports bei Frames schon klar war.

                        Nun denn, nun weis ich aber ja Bescheid, dank Eurer
                        tollen Hilfe hier im Forum.

                        Gruß
                        Ingo

                      2. Hallo.

                        Das Frameset selbst braucht Frameset.
                        Die Navigation wird Transitional brauchen (wegen target).

                        Man kann natürlich auch immer nur auf weitere Framesets verweisen, so wie es sinnvoll ist, wenn mehrere Frames ohne Javascript verändert werden sollen.
                        MfG, at

                        1. Hallo at

                          Das Frameset selbst braucht Frameset.
                          Die Navigation wird Transitional brauchen (wegen target).

                          Man kann natürlich auch immer nur auf weitere Framesets verweisen, so wie es sinnvoll ist, wenn mehrere Frames ohne Javascript verändert werden sollen.

                          Die sich dann im Navigatonsframe öffnen?

                          Auf Wiederlesen
                          Detlef

                          --
                          - Wissen ist gut
                          - Können ist besser
                          - aber das Beste und Interessanteste ist der Weg dahin!
                          1. Hallo.

                            Die sich dann im Navigatonsframe öffnen?

                            Ich vergaß.
                            MfG, at

            3. Moin!

              Gibts da eigentlich noch ne Methode, die auch bei
              deaktiviertem Javascript funktioniert?

              Viel wichtiger wäre eine Methode, den Link nur reinzuschreiben, wenn der Browser tatsächlich per Javascript drucken kann. Denn das können nicht alle Browser. Der IE 4 beispielsweise kann's nicht! Der IE 5 auf Mac ebenfalls nicht, genauso wie Safari 1.0.

              - Sven Rautenberg

              --
              My sssignature, my preciousssss!