Announcement

Collapse
No announcement yet.

kleines DIV Positionierungsproblem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    das stört deswegen, weil in map_canvas eine google-karte angezeigt wird. diese hat oben rechts das menü zur kartenauswahl. wenn das optionsmenü darüberliegt sieht man die kartenauswahl nicht. da stört es dann. generell werden eben inhalte aus map_canvas verdeckt...

    bye, Christian.

    Comment


    • #17
      Originally posted by Chrischaaan View Post
      ...generell werden eben inhalte aus map_canvas verdeckt...
      Solange du das option-div nicht in irgendeiner Form absolut positionierts sollte das nicht passieren. Text wird um das div herumfliesen und ein Bild, welches nicht links daneben passt, wird soweit nach unten verschoben, bis es eben unter dem div steht.
      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

      Comment


      • #18
        eben. und genau da liegt das problem. bilder werden nach unten verschoben. und das soll halt nicht sein. so wie ich es jetzt hab geht es eigentlich. problem ist halt nur, dass das map_canvas nicht bis ans option-div rangeht wenn das option div schmaler als 25% ist...

        Comment


        • #19
          Originally posted by Chrischaaan View Post
          eben. und genau da liegt das problem. bilder werden nach unten verschoben. und das soll halt nicht sein. ...
          Wenn das Bild in map_canvas breiter ist als dieser Bereich, was soll denn dann mit dem Bild passieren? Ich verstehe das Problem nicht? Warum verpasst du dem #map_canvas nicht einfach noch ein "overflow: auto"? Dann werden Scrollbalken eigeblendet, wenn das Bild größer ist als der verfügbare Bereich.

          [highlight=css]
          ...
          #map_canvas
          {
          height: 100%;
          background-color: green;
          overflow: auto;
          }
          ...
          [/highlight]

          Gruß Falk
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment


          • #20
            das problem ist, dass das map_canvas mit deiner variante hinter dem option-div liegt. die gesamte breite des map_canvas darf nur bis an das option div heranhreichen. das option div darf keinen bereich von map_canvas verdecken...

            Comment


            • #21
              Hallo,
              Originally posted by Chrischaaan View Post
              das problem ist, dass das map_canvas mit deiner variante hinter dem option-div liegt. ...
              Nein, dass Problem ist das du mir nicht zuhörst oder mir nicht glaubst! Hast du meine Vorschläge ausprobiert oder denkst du nur das es so ist?

              HTML Code:
              <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
              <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
              <head>
                <title>Titel</title>
                <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
              
                <style type="text/css">
                  #content
                  {
                    top:                100px;
                    left:               5px;
                    right:              5px;
                    bottom:             5px;
                    position:           absolute;
                    overflow:           auto;
                  }
              
                  #map_canvas
                  {
                    height:             100%;
                    background-color: green;
                    overflow: auto;
                  }
              
                  #options
                  {
                    background-color:   rgb(64, 64, 64);
                    float:              right;
                    max-width:          300px;
                    height:             100%;
                  }
                </style>
              </head>
              <body>
              <div id="content">
                <div id="options">
              
                  <fieldset><legend><b>Alle Fahrzeuge</b></legend></fieldset>
                </div>
                <div id='map_canvas' class="scroller" >
                    Hier ist map_canvas!
                    <img src="sonne5.jpg" alt="Sonne" title="Sonne" width="600" height="450" />
                </div>
              </div>
              </body>
              </html>
              Ergebnis bei ausreichend Platz: siehe Anhang anzeige1.jpg
              Ergebnis bei zu wenig Platz: siehe Anhang anzeige2.jpg

              Da wird NICHTS vom option-div verdeckt!

              Gruß Falk
              Attached Files
              Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

              Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

              Comment


              • #22
                hallo,

                ich glaube dir sehr wohl was du sagst, da du viel mehr erfahrung hast als ich. und selbstverständlich hör ich dir auch zu. und ich habs ausprobiert. wenn ich das option div nur 90% hoch mahc, seh ich, dass der grüne bereich unter dem option div weitergeht. das problem bei der google karte ist jetzt, dass die eben reingeladen wird und durch das reinladen verlagert sich das map_canvas über das option-div... so ist entweder das option-div verschwunden oder wenn ich für das map_canvas noch float: left; setze ist ein teil der karte weg...

                da sone karte ja im prinzip unterschiedlich groß sein soll, kann und ist sollte das an deinem beispiel erklärt folgendermaßen aussehen:

                bild 1: es ist nix grünes zu sehen ( soll nict zu sehen sien. das bild erstreckt sich über die ganze breite. entfällt der inhalt für das option div ist dieses 0px groß. also anzeige entfällt. karte erstreckt sich trotzdem über die ganze breite...

                verstehst du was ich meine? im prinzip hab ich ein monströs riesiges bild von dem ein ausschnitt in dem map_canvas angezeigt werden soll...

                Comment


                • #23
                  Originally posted by Chrischaaan View Post
                  ...wenn ich das option div nur 90% hoch mahc, seh ich, dass der grüne bereich unter dem option div weitergeht.
                  Ja gut, die grüne Farbe ist doch eher irrelevant, die kann man der normalen Hintergrundfarbe anpassen, damit sieht das keiner mehr. Viel entscheidender ist doch das der Inhalt (Text, Bild, etc.) richtig angezeigt wird.

                  Originally posted by Chrischaaan View Post
                  ...das problem bei der google karte ist jetzt, dass die eben reingeladen wird und durch das reinladen verlagert sich das map_canvas über das option-div... so ist entweder das option-div verschwunden oder wenn ich für das map_canvas noch float: left; setze ist ein teil der karte weg...
                  Das ist doch dann aber kein Problem des Layouts, sondern eher von dem "Code" der die Karte lädt.

                  Originally posted by Chrischaaan View Post
                  ...verstehst du was ich meine? im prinzip hab ich ein monströs riesiges bild von dem ein ausschnitt in dem map_canvas angezeigt werden soll...
                  Ehrlich gesagt, nein. Anhand deiner Beispiele kann ich es nicht nachvollziehen! Was ist an meinem Beispiel anders? Da ist auch ein Bild drin. Und wenn der Platz nicht ausreicht, dann wird nichts überlagert oder verdeckt, sondern einfach Scrollbalken eingeblendet. Was soll denn sonst passieren wenn der Platz nicht ausreicht? Soll sich das Bild automatisch verkleinern oder was?

                  Gruß Falk
                  Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                  Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                  Comment


                  • #24
                    hi,

                    das grün ist zugegebenermaßen egal. es ging mir nur darum, das problem zu demonstrieren...

                    ich hab jetzt folgende bilder gemacht und poste den entsprechenden css code dazu um zu zeigen, was wann passiert:

                    Code:
                    #content
                    {
                        top:                105px;
                        left:               5px;
                        right:              5px;
                        bottom:             5px;
                        position:           absolute;
                    }
                    
                        #map_canvas
                        {
                            height:             100%;
                        }
                    
                    
                        #options
                        {
                            background-color:   rgb(64, 64, 64);
                            float:              right;
                            max-width:          300px;
                            height:             100%;
                            overflow:           auto;
                        }




                    Code:
                    #content
                    {
                        top:                105px;
                        left:               5px;
                        right:              5px;
                        bottom:             5px;
                        position:           absolute;
                    }
                    
                        #map_canvas
                        {
                            height:             100%;
                            float:              left;
                        }
                    
                    
                        #options
                        {
                            background-color:   rgb(64, 64, 64);
                            float:              right;
                            max-width:          300px;
                            height:             100%;
                            overflow:           auto;
                        }


                    füge ich jetzt bei map_canvas im letzten beispiel wieder width 100% hinzu, rutscht wieder das option div runter.

                    Code:
                    #content
                    {
                        top:                105px;
                        left:               5px;
                        right:              5px;
                        bottom:             5px;
                        position:           absolute;
                    }
                    
                        #map_canvas
                        {
                            height:             100%;
                            float:              left;
                            min-width:          75%;
                            max-width:          100%;
                            right:              0px;
                        }
                    
                    
                        #options
                        {
                            background-color:   rgb(64, 64, 64);
                            float:              right;
                            max-width:          25%;
                            height:             100%;
                            overflow:           auto;
                        }


                    hier entsteht fast das, was gewollt ist: beide elemente sind nebeneinander. ist das gesamte fenster kleiner, so verschwindet auch noch der weiße bereich zwischen den elementen. das entsteht nur, weil die breite des option-div eine max-width von 25% hat. ist der inhalt schmaler, entsteht halt der weiße rand. idealerweise sollte nun die karte auch diesen weißen restbereich ausfüllen...

                    hoffe, ich konnte es noch etwas lichten, das problem. den "effekt" mit option-div über karte hab ich jetzt nich nochmal hinbekommen.war jedenfalls auch paar mal beim probieren vorgekommen...

                    bye, Christian.

                    Comment


                    • #25
                      Hallo,

                      ist denn das Bild unterschiedlich groß? Sorry wenn ich das nicht nachvollziehen kann, ich hab mich noch nicht mit dem Google-Maps-API beschäftigt.

                      Du hast im ersten Fall ein großes Bild, das passt nicht - logisch. Mit meiner Scroll-Lösung wäre das Option-Div aber oben sichtbar und du könntest die Karte Hin- und Herscrollen. Das zweite Bild ist sehr schmal (sieht etwas sch... aus) aber was hat das mit der Formatierung der Divs zu tun ?
                      Das dritte Bild hat praktisch die richtige Größe, hier würdest du dann nicht scrollen müssen...

                      Also Sorry, ich weiß langsam nicht mehr worauf du hinaus willst... Auf meine Vorschläge gehst du nicht ein, meine Fragen beantwortest du nicht. Stattdessen bringst du drei unterschiedliche Screenshots mit jeweils anderem Bild und unterschiedlichen Formatierungen, die dadurch überhaupt nicht vergleichbar sind Ich kann dir dann wahrscheinlich nicht helfen!

                      Gruß Falk
                      Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                      Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                      Comment


                      • #26
                        hi,

                        an sich ist ja so eine karte wie ein riesiges bild, von dem ich in dem div nur einen ausschnitt habe. der bildausschnitt ist somit unterschiedlich groß, ja. map_cancas muss meiner meinung nach nicht scrollbar sein. den kartenausschnitt zu verändern übernimmt die karte selbst. map_canvas soll daher nur eine gewisse breite und höhe haben. beides maximal. wenn ich overflow: auto setze macht der die karte trotzdem wieder so schmal wie in bild 2. scrollbalken kommen dann zwar, aber das macht halt wenig sinn weil ich mich ja nicht durch die ganze welt scrollen kann und das übernimmt die karte eh selbst...

                        deine vorschläge finden beachtung, falk. ich übergehe diese nicht, ohne sie getestet zu haben. deswegen habe ich die 3 bilder gepostet und die quelltexte dazu. die vorschläge die du unterbreitet hattest liefen alle darauf hinaus, dass das ergebnis entweder dem 1. oder zweiten bild entspricht.

                        weißt du prinzipiell was ich mit der darstellung erreichen möchte?

                        bye, Christian.

                        Comment


                        • #27
                          Originally posted by Chrischaaan View Post
                          ...weißt du prinzipiell was ich mit der darstellung erreichen möchte?
                          Was du erreichen möchtest ist mir (glaube ich zumindest) prinzipiell klar. Mein Problem ist, dass ich das deine nicht nachvollziehen kann und wir deshalb wohl aneinander vorbeireden. Mir ist eben nicht klar, wie das Google-Bild zustande kommt, woher die Information für die Breite bezogen wird. Wenn du dir mit Javascript den Wert von offsetWidth für das Canvas-div ausgeben läßt, dann entspricht das exakt dem tatsächlich sichtbaren Bereich - ohne das Option-div.

                          Ich gehe mal davon aus, dass die Google-Map mit Javascript eingebunden wird. Javascript wird also sowieso benötigt. Versuch doch mal innerhalb des (wie von mir vorgeschlagen) formatierten Canvas-div ein weiteres div anzulegen. Für dieses setzt du per onload die Eigenschaft style.width auf den Wert document.getElementById('map_canvas').offsetWidth+ 'px'. Dieses so (mit fester Breite) formatierte div gibst du dann als Container für die Google-Map an.

                          Gruß Falk
                          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

                          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

                          Comment


                          • #28
                            das funktioniert :-) :-) :-) :-) :-) geil! danke!

                            hier nochmal der komplette quellcode, für alle, die das selbe problem haben und die lösung brauchen.

                            Code:
                            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
                            <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
                                <head>
                                    <title>Titel</title>
                                    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
                                    <style type="text/css">
                                        #content
                                        {
                                            top:                5px;
                                            left:               5px;
                                            right:              5px;
                                            bottom:             5px;
                                            position:           absolute;
                                        }
                            
                                            #fullsize
                                            {
                                                height:             100%;
                                                overflow:           auto;
                                                background-color:   green;
                                            }
                            
                                            #map_canvas
                                            {
                                                height:             100%;
                                                overflow:           auto;
                                            }
                            
                                            #options
                                            {
                                                background-color:   rgb(64, 64, 64);
                                                float:              right;
                                                max-width:          25%;
                                                height:             100%;
                                                overflow:           auto;
                                            }
                                    </style>
                                    <script type="text/javascript">
                                        function setFullsize()
                                        {
                                            document.getElementById('fullsize').style.width = document.getElementById('map_canvas').offsetWidth+ 'px';
                                        }
                                    </script>
                                </head>
                                <body onload="setFullsize();">
                                    <div id="content">
                                        <div id="options">
                                            Hier stehen Optionen
                                        </div>
                                        <div id="fullsize">
                                            <div id='map_canvas'>
                                                Hier ist mein Inhalt
                                            </div>
                                        </div>
                                    </div>
                                </body>
                            </html>
                            vielen dank falk für deine geduld und deine kompetente hilfe!

                            bye, Christian.

                            Comment

                            Working...
                            X