CSS: DIV-Positionierung

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Original geschrieben von asp2php
    eine gewagte Behauptung ... IMHO hält sich keiner von den Browser richtig dran
    du sagst es. aus dem grund kann ich die obige aussage auch nicht gelten lassen. der intertretationsgrad mit dem die css-angaben implementiert wurden ist hoch und genau deswegen tu ich mir auch so schwer. eine aussage wie: "DU hast die height-angabe nicht richtig verstanden und meinst [blabla]" ist schon aufgrund der fehlenden einigkeit völliger schwachsinn. fakt ist, dass sie firefox am ehesten an die standards hält. ich bin kein IE-freund, was mir oben versucht wurde zu unterstellen *grml*

    Kommentar


    • #17
      @ patrick:
      ielleicht nicht genau so wie du es brauchst, aber das Prinziep wird erklärt.
      das prinzip ist mir schon klar (auch wenn einige da vielleicht anders denken) mir gehts einzig und allein um die umsetzung. da happerts und da hilft mir css4you leider auch nicht weiter. ich hab im vorfeld schon diverse google treffer abgeklappert, konnte aber kein wirklich gutes tutorial entdecken, das sich mit der positionierung von elementen im detail (nicht nur oberflächlich) beschäftigt. so wies ausschaut werd ich das ganze doch absolut positionieren und nicht relativ. die gewünschten abstände zwischen den boxen muss ich mir dann halt ausrechnen :-(

      Kommentar


      • #18
        Du solltest einfach keine 100% höhenangaben benutzen. Und gib uns mal deinen Code, den du jetzt benutzt. Denn meiner klappt sowohl in IE als auch in Firefox.

        Kommentar


        • #19
          ich verwende deinen code von weiter oben und bei mir sieht das wie folgt aus:

          darin verwendest du ebenfalls eine höhenangabe von 100%
          .signature {
          width: 100px;
          height: 100%;
          background-color:#CCCCCC;
          float: left;
          text-align:center;
          }
          ich suche nach einer möglichkeit um sowas zu realisieren:
          Code:
          +----------+------------------------------+
          |          |               2              |
          |          +------------------------------+
          |          |                              |
          |          |                              |
          |    1     |                              |
          |          |               3              |
          |          |                              |
          |          |                              |
          |          |                              |
          +----------+------------------------------+
          also im prinzip ein "rowspan" über zwei zeilen. die höhe von bereich 2 ist fix vorgegeben, die höhen der bereiche 1 und 3 sollen sich der länge des textes in bereich 3 anpassen.

          das html grundgerüst sieht so aus:
          PHP-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">
          <
          head>
          <
          meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
          <
          title>Testseite</title>
          </
          head>

          <
          body>
          <
          div>
          <
          p><a href="#">antworten</a></p>
          <
          p><a href="#">editieren</a></p>
          <
          p><strong>Nickname</strong></p>
          <
          p><img name="" src="" width="80" height="80" alt="avatar" /></p>
          <
          p>(Gast)</p>
          <
          p><a href="#">E-Mail</a></p>
          <
          p>01.01.2005 23:00</p>
          <
          p>ReBetreff</p>
          <
          p>Hier steht der eigentliche Text.</p>
          </
          div>
          </
          body>
          </
          html
          in den bereich 1 sollen folgende dinge rein:
          • nickname
          • darum und uhrzeit
          • avatar
          • benutzertitel (gast)
          • email-adresse
          in bereich 2:
          • betreff
          • "editieren"
          • "antworten"
          und in bereich 3 ein beliebiger text.

          und zwischen den "blöcken" soll jeweils eine kluft von 3 pixeln bleiben.
          Zuletzt geändert von php_rookie; 23.10.2004, 11:15.

          Kommentar


          • #20
            test

            test
            Angehängte Dateien

            Kommentar


            • #21
              was willst du uns damit nun sagen?
              EDIT:
              wie ich sehe, hast du dich nur im thread vertan? mal *ZUSAMMENFÜHR*
              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


              Kommentar


              • #22
                damit will ich sagen, dass mir geraten wurde keine höhenangabe von 100% zu verwenden, obwohl derjenige der mir den rat gegeben hat diese höhenangabe selbst verwendet hat. wie man sieht ist die darstellung im ie und im ff unterschiedlich.

                und mir wurde geraten jeden block in ein eigenes div zu packen und ein paar beiträge drunter wird diese vorgehensweise belächelt. d.h. ich kann keine empfehlung entdecken, die mir in meinem problem wirklich weiterhilft.

                Kommentar


                • #23
                  Original geschrieben von php_rookie
                  eine aussage wie: "DU hast die height-angabe nicht richtig verstanden und meinst [blabla]" ist schon aufgrund der fehlenden einigkeit völliger schwachsinn.
                  nein, ist sie ganz sicher nicht.
                  wie es zu interpretieren ist, ist in den spezifikationen eindeutig festgelegt. das hat also erst mal null damit zu tun, wie viele browser es richtig und wie viele falsch interpretieren.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    und wieviele browser kennst du, die sich exakt an die spezifikationen halten?

                    also, ich versuch nochmals auf das eigentliche thema zurückzukommen. ich hab versucht <p>-tags zu positionieren. das ist scheinbar nicht möglich in älteren browsern:
                    Weder Netscape noch der MS Internet Explorer interpretieren Angaben zur absoluten Positionierung in allen HTML-Elementen. Um eine maximale Abwärtskompatibilität zu erreichen, ist es am besten, Angaben zur Positionierung auf das div-Element zu beschränken. Schließen Sie andere Elemente, etwa Textabsätze, Grafiken, Tabellen, Formulare usw. einfach in entsprechende div-Elemente ein.
                    quelle: http://de.selfhtml.org/css/eigenscha...g.htm#position

                    also hab ich die absätze in div-elemente verpackt. wenn ich jetzt position:relative einbaue, erfolgt eine art zeilenumbruch zwischen den einzelnen blöcken

                    PHP-Code:
                    <html>
                    <
                    head>
                    <
                    title>Testseite</title>
                    <
                    style type="text/css">
                    <!--
                    .
                    posting_block {
                        
                    width660px;    
                        
                    border-top-width1px;
                        
                    border-top-stylesolid;
                        
                    border-top-color#333333;
                        
                    border-bottom-width1px;
                        
                    border-bottom-stylesolid;
                        
                    border-bottom-color#333333;    
                    }

                    .
                    posting_signature {
                        
                    left3px;
                        
                    top3px;
                        
                    background-color#CCCCCC;
                        
                    width100px;
                        
                    text-aligncenter;
                    }

                    .
                    posting_subject {
                        
                    left106px;
                        
                    width300px;
                        
                    top3px;
                        
                    background-color#EEEEEE;    
                    }

                    .
                    posting_answer {
                        
                    top3px;
                        
                    left400px;
                        
                    width100px;
                        
                    text-aligncenter;
                        
                    background-color#CCCCCC;
                    }

                    .
                    posting_edit {
                        
                    top3px;
                        
                    left255px;
                        
                    width100px;
                        
                    text-aligncenter;
                        
                    background-color#CCCCCC;
                    }

                    .
                    posting_text {
                        
                    left106px;
                    }
                    -->
                    </
                    style>
                    </
                    head>

                    <
                    body>
                    <
                    div class="posting_block">
                    <
                    div class="posting_answer"><p><a href="#">antworten</a></p></div>
                    <
                    div class="posting_edit"><p><a href="#">editieren</a></p></div>
                    <
                    div class="posting_signature">
                    <
                    p><strong>Nickname</strong></p>
                    <
                    p><img name="" src="" width="80" height="80" alt="avatar" /></p>
                    <
                    p>(Gast)</p>
                    <
                    p><a href="#">E-Mail</a></p>
                    <
                    p>01.01.2005 23:00</p>
                    </
                    div>
                    <
                    div class="posting_subject"><p>ReBetreff</p></div>
                    <
                    div class="posting_text"><p>Hier steht der eigentliche Text.</p></div>
                    </
                    div>
                    </
                    body>
                    </
                    html
                    in der form werden die left- und top-angaben ignoriert. wie stellt man das bitte richtig?

                    Kommentar


                    • #25
                      Original geschrieben von php_rookie
                      das ist scheinbar nicht möglich in älteren browsern
                      willst du etwa noch auf den netscape 4 rücksicht nehmen?

                      bei IE 5+ und aktuellen netscape/geckos sollte positionierung jedenfalls kaum probleme bereiten.

                      in der form werden die left- und top-angaben ignoriert.
                      müssen sie ja auch, so lange die position static ist.

                      wie stellt man das bitte richtig?
                      man gibt ihnen eine andere position als static.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #26
                        wenn ich position: relative eintrage werden die blöcke ebenfalls untereinander, jedoch mit einem versatz nach links angezeigt. und absolut positionieren kann ich sie auch nicht. was also ist zu tun?

                        beispiel mit position: relative
                        PHP-Code:
                        <html>
                        <
                        head>
                        <
                        title>Testseite</title>
                        <
                        style type="text/css">
                        <!--
                        .
                        posting_block {
                            
                        width660px;    
                            
                        border-top-width1px;
                            
                        border-top-stylesolid;
                            
                        border-top-color#333333;
                            
                        border-bottom-width1px;
                            
                        border-bottom-stylesolid;
                            
                        border-bottom-color#333333;    
                        }

                        .
                        posting_signature {
                            
                        left3px;
                            
                        top3px;
                            
                        background-color#CCCCCC;
                            
                        width100px;
                            
                        text-aligncenter;
                        }

                        .
                        posting_subject {
                            
                        left106px;
                            
                        width300px;
                            
                        top3px;
                            
                        background-color#EEEEEE;    
                        }

                        .
                        posting_answer {
                            
                        positionrelative;
                            
                        top3px;
                            
                        left557px;
                            
                        width100px;
                            
                        text-aligncenter;
                            
                        background-color#CCCCCC;
                        }

                        .
                        posting_edit {
                            
                        positionrelative;
                            
                        top3px;
                            
                        left255px;
                            
                        width100px;
                            
                        text-aligncenter;
                            
                        background-color#CCCCCC;
                        }

                        .
                        posting_text {
                            
                        left106px;
                        }
                        -->
                        </
                        style>
                        </
                        head>

                        <
                        body>
                        <
                        div class="posting_block">
                        <
                        div class="posting_answer"><p><a href="#">antworten</a></p></div>
                        <
                        div class="posting_edit"><p><a href="#">editieren</a></p></div>
                        <
                        div class="posting_signature">
                        <
                        p><strong>Nickname</strong></p>
                        <
                        p><img name="" src="" width="80" height="80" alt="avatar" /></p>
                        <
                        p>(Gast)</p>
                        <
                        p><a href="#">E-Mail</a></p>
                        <
                        p>01.01.2005 23:00</p>
                        </
                        div>
                        <
                        div class="posting_subject"><p>ReBetreff</p></div>
                        <
                        div class="posting_text"><p>Hier steht der eigentliche Text.</p></div>
                        </
                        div>
                        </
                        body>
                        </
                        html

                        Kommentar


                        • #27
                          Original geschrieben von php_rookie
                          wenn ich position: relative eintrage werden die blöcke ebenfalls untereinander, jedoch mit einem versatz nach links angezeigt.
                          natürlich werden sie nach wie vor untereinander angezeigt - weil relative eben nur ein relativer versatz zur normalposition ist.

                          und absolut positionieren kann ich sie auch nicht.
                          sollst du ja auch nicht.

                          was also ist zu tun?
                          den hier bereits gegebenen hinweis auf float mal verfolgen.
                          und erst mal im netz nach erklärungen und beispielen suchen, so dass du es verstehst - und nicht immer sofort fragen, danke.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #28
                            weil relative eben nur ein relativer versatz zur normalposition ist.
                            weil relative sich auf den unmittelbaren vorgänger im quelltext bezieht, nicht?
                            den hier bereits gegebenen hinweis auf float mal verfolgen.
                            wenn du mir sagen kannst, wie ich den äußerst linken block in das umgebende div-einbetten kann ohne height: 100% zu verwenden, dann wäre das eine lösung.

                            Kommentar


                            • #29
                              Original geschrieben von php_rookie
                              weil relative sich auf den unmittelbaren vorgänger im quelltext bezieht, nicht?
                              rede ich chinesisch?

                              relative bezieht sich auf die normale position des elementes im textfluss.
                              was bitte ist daran zweideutig/nicht zu verstehen?

                              wenn du mir sagen kannst, wie ich den äußerst linken block in das umgebende div-einbetten kann ohne height: 100% zu verwenden, dann wäre das eine lösung.
                              dass zwei elemente ihre höhe gegenseitig beeinflussen, ist mit CSS nicht vorgesehen und auch kaum realisierbar.

                              eine mögliche lösung wäre z.b., den bereich mit kürzerem inhalt durch ein entsprechend breites hintergrundbild des containers so aussehen zu lassen, als ob er "bis unten" ginge.
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar


                              • #30
                                relative bezieht sich auf die normale position des elementes im textfluss.
                                das hast du SO oben nicht geschrieben. der relative versatz bezieht sich auf das unmittelbare vorgängerelement, also die reihenfolge im textfluss. deswegen auch mein einwand.

                                wie auch immer: ich werde bei meinem tabellenlayout bleiben. mit hintergrundbildern rumzupfuschen kanns ja wohl wirklich nicht sein...

                                Kommentar

                                Lädt...
                                X