Jadan: Kann Opera in einer Zelle Scrollen?

Hallo erstmal an Alle!

Ich hab folgendes Problem: innerhalb einer Zelle habe ich einen horizontalen Scrollbalken, darin befindet sich eine weitere Tabelle mit Fotos, die dann halt horizontal gescrollt werden sollen.
So weit so gut im IE und Firefox funktioniert das auch soweit, aber Opera kann mit dem Befehl wohl rein gar nichts anfangen. Gibt es da eine Möglichkeit Opera das doch beizubringen, oder muss ich da auf ein iframe oder was anderen zurückgeifen?

Liebe (und verzweifelte) Grüße und vielen Dank schon mal für die Hilfe!!!

Nadja

  1. Hallo Jadan,

    aber Opera kann mit dem Befehl wohl rein gar nichts anfangen. Gibt es da eine Möglichkeit Opera das doch beizubringen, oder muss ich da auf ein iframe oder was anderen zurückgeifen?

    Wenn du uns den "Befehl" nennst, den du benutzt hast, können wir dir evtl. auch Alternativen nennen.

    Gruß Gernot

    1. Also der eigentliche Befehl liegt im style sheet:
      div.output{width: 550px; height: 414px; overflow-x: auto; overflow-y: none;
      }

      und in der entsprechenden seite halt:
      class="output"

      aussehen sollte es im IE so: (vorsicht halb nackte frau aud den fotos!)
      http://www.myperfectphoto.de/sp-test/?site=galerie1

      ich bastel da gerade noch drin rum, es ist erstmal nur layout, also sieht die ganze seite noch aus wie kraut und rüben....

      1. Hallo Jadan,

        Also der eigentliche Befehl liegt im style sheet:
        div.output{width: 550px; height: 414px; overflow-x: auto; overflow-y: none;
        }

        aussehen sollte es im IE so: (vorsicht halb nackte frau aud den fotos!)
        http://www.myperfectphoto.de/sp-test/?site=galerie1

        Nett, dass du mich gewarnt hast, aber den Anblick kann ich noch ertragen ;-)

        Das sieht bei mir im Firefox 1.5.0.1 aber auch nicht schöner aus als in Opera und hat auch da vertikale Scrollbalken.

        Warum sagst du nicht einfach:

        div.output { overflow:auto } und gibst bei der Höhe so viel Pixel hinzu, dass vertikale Scrollbalken erst gar nicht entstehen?

        Gruß Gernot

        1. div.output { overflow:auto } und gibst bei der Höhe so viel Pixel hinzu, dass vertikale Scrollbalken erst gar nicht entstehen?

          Ganz ehrlich? weil ich keine ahnung von dem ganzen habe....:o)
          was meinst du mit soviele pixel dazu geben, wie nötig?
          die zelle darf vom layout her nicht höher oder breiter sein. die soll auf jedenfall so bleiben.

          1. div.output { overflow:auto } und gibst bei der Höhe so viel Pixel hinzu, dass vertikale Scrollbalken erst gar nicht entstehen?

            Ganz ehrlich? weil ich keine ahnung von dem ganzen habe....:o)
            was meinst du mit soviele pixel dazu geben, wie nötig?
            die zelle darf vom layout her nicht höher oder breiter sein. die soll auf jedenfall so bleiben.

            ich hab jetzt das overflow-x und overflow-y einfach gegen overflow:auto getauscht... aber das ändert auch nichts. sieht immer noch genau so aus. der IE zeigt es richtig an und alle anderen nicht... opera versteht nicht mal, dass er in der zelle scrollen soll.

          2. Hallo Jadan,

            ich muss mich übrigens korrigieren, im Opera sieht man gar keine Scrollbalken, weder vertikale noch horizontale.

            div.output { overflow:auto } und gibst bei der Höhe so viel Pixel hinzu, dass vertikale Scrollbalken erst gar nicht entstehen?

            "Auto" bedeutet bei der overflow-Eigenschaft, dass Scrollbalken nur dann entstehen, wenn die Weite bzw Höhe, die du dem Element zuweist zur Darstellung des Inhalts nicht ausreichen. Wenn du dein DIV der Klasse output zwar so hoch wie die Bilder machst, aber nicht so breit, dass alle nebeneinander passen, dann sollte nur ein horizontaler Scrollbalken.

            Das kann man aber alles nachlesen:

            http://de.selfhtml.org/css/eigenschaften/positionierung.htm#overflow

            Deine Grafiken sind jeweils 400 Pixel hoch. Weil sie nicht alle nebeneinander passen, kommt der horizontale Scrollbalken noch hinzu, der ja auch ein paar Pixel in der Höhe beansprucht. Wie hoch/breit genau ein Scrollbalken ist, kannst du nicht wissen, denn das kann sich jeder Nutzer in seinem Browser oder Betriebssystem individuell einstellen. Manche Browser haben sogar, wenn man daran keine Einstellungen vornimmt, von Hause aus mehr als 14 Pixel Scrollbalkenbreite. Außerdem hast du nach deiner Tabelle noch einen Whitespace (Das sind Leerzeichen und Zeilenumbrüche eingefügt:

              
            </table>  
            </div>
            

            Da bricht der Browser möglicherweise in die nächste Zeile um und beansprucht zusätzliche Pixel in der voreingestellten Zeilenhöhe.

            Gruß Gernot

            1. Also was overflow: auto bedeutet ist mir schon klar.
              ich dachte nur, ich teile das auf, damit der vertikale balken dann unterdrückt wird....
              an die unterschiedliche höhe der scrollbalkan habe ich nicht gedacht, aber dann müsste es ja wie du gesagt hast, reichen, wenn ich meine Bilder etwas kleiner mache.

              Dann sollte das im Firefox dann auch einigermaßen nett aussehen.

              Mein Problem ist nur immer noch opera. Da geht es gar nicht.

              1. Hallo Jadan,

                Also was overflow: auto bedeutet ist mir schon klar.
                ich dachte nur, ich teile das auf, damit der vertikale balken dann unterdrückt wird....

                Overflow-X und ~Y gibt wird es aber erst in CSS3 geben
                http://www.w3.org/TR/css3-box/#the-overflow-x

                Opera ist da offensichtlich noch nicht so weit.

                Dann sollte das im Firefox dann auch einigermaßen nett aussehen.

                In Firefox geht es ja vielleicht mit dem Unterdrücken des vertikalen Scrollbalkens, wenn du statt des ungültigen Wertes "none" den gültigen Wert "hidden" nimmst.

                Mein Problem ist nur immer noch opera. Da geht es gar nicht.

                Wenn du bei Overflow nicht zwischen X und Y differenzierst, sollte es auch in Opera gehen. Dazu solltest du aber deinen Code auch mal validieren. Da ist viel drin, was da nicht reingehört, z.B. Height-Attribute in TD-Elementen.

                Gruß Gernot

                1. Wenn du bei Overflow nicht zwischen X und Y differenzierst, sollte es auch in Opera gehen. Dazu solltest du aber deinen Code auch mal validieren. Da ist viel drin, was da nicht reingehört, z.B. Height-Attribute in TD-Elementen.

                  sorry für die dumme frage, aber wieso darf ich einer zelle keine Höhe zuweisen? bzw. wenn ich das in dreamweaver einstelle schreibt er das nun mal so in den quellcode... irgendwie muss ich doch auch einer zelle sagen wie hoch sie sein darf....

                  ich glaube mein problem ist dieses class:output um in der zelle zu scrollen
                  ich weiß nicht wo das hin soll, wenn ich is in die betreffende zelle schreibe, wird es nicht angezeigt, stelle ich es außen irgendwo hin, dann ist die anzeig im ie und firefox richtig, aber es wird mir als fehler angestrichen....

                  1. Hallo Jadan,

                    sorry für die dumme frage, aber wieso darf ich einer zelle keine Höhe zuweisen? bzw. wenn ich das in dreamweaver einstelle schreibt er das nun mal so in den quellcode... irgendwie muss ich doch auch einer zelle sagen wie hoch sie sein darf....

                    Ja du darfst ihr eine Höhe zuweisen, aber bei dem von dir gewählten Doctype nur über CSS!

                    ich glaube mein problem ist dieses class:output um in der zelle zu scrollen
                    ich weiß nicht wo das hin soll, wenn ich is in die betreffende zelle schreibe, wird es nicht angezeigt,

                    Logisch, Tabellenzellen selbst lassen sich nicht scrollen; nur Blockelemente wie z.B. DIVs, die man da hinein platziert.

                    stelle ich es außen irgendwo hin, dann ist die anzeig im ie und firefox richtig, aber es wird mir als fehler angestrichen....

                    Richtig:In TR-Elemente gehört nichts anderes als TD- und TH-Elemente.

                    Gruß Gernot

                    1. Vielen Dank für Deine Hilfe, mein Problem ist einfach nur ich kann mit den Informationen nichts anfangen. Ich weiß trotzdem nicht was ich jetzt wo und wie ändern muss und verstehe nur Bahnhof.
                      Das ist alles absolut zu hoch für mich...

                      1. Hallo Jadan,

                        Ich habe das mal mit Opera überprüft: Selbst wenn du die falschen Height-Attribute in deinen TD-Elementen belässt, sieht es mit deinem ursprünglichen Code in meinen Browsern ganz chic aus, wenn du in deinem CSS bei der Klasse output nur drei Pixel zugibst und für Firefox overflow-y auf "hidden" setzt.

                        div.output{width: 550px; height: 417px; overflow: auto; overflow-y:hidden; }

                        Mit Rücksicht auf ältere Browser mit Gecko-Engine, die Overflow-y aber nicht verstehen (Mozilla, Netscape7) würde ich aber eher auf die overflow-y-Angabe verzichten und stattdessen noch ein paar Pixel an der Höhe hinzugeben.

                        div.output{width: 550px; height: 420px; overflow: auto; }

                        Wenn dann einer die Scrollbaken auf eine noch größeren Breite als 20px eingestellt hat, bekommt er halt auch wieder den vertikalen Scrollbalken. Nach unten werden dann bei "normal" eingestellten Scrollbalken in aller Regel auch noch ein paar Pixel Abstand zum Scrollbalken sein.

                        Gruß Gernot

                        1. Ich habe das mal mit Opera überprüft: Selbst wenn du die falschen Height-Attribute in deinen TD-Elementen belässt, sieht es mit deinem ursprünglichen Code in meinen Browsern ganz chic aus,

                          heißt das er scrollt bei dir auch? mein opera macht das nicht *kopfkratz*

                          den rest werde ich gleich mal versuchen. vielen dank!!!