Anzeige:
Ergebnis 1 bis 11 von 11

Thema: css zwei spalten layout

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159

    css zwei spalten layout

    Hi!
    ich bin gerade dabei etwas css zu lernen und komme nicht weiter.
    Ich will eine einfache zweifspaltige Seite: links eine Menu und rechts der Inhalt.
    Das Menu soll jetzt so schmal wie möglich sein, aber trotzdem immer so breit werden, dass auch die längste Zeile noch rein passt.
    Momentan kann ich den Spalten nur feste Größen geben und wenn ein menu eintrag diese größe überschreitet, dann schreibt er in den rechten Teil rein.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  2. #2
    Registrierter Benutzer
    Registriert seit
    15.10.2005
    Ort
    Franken
    Beiträge
    362
    Zeig uns doch am besten mal, was du schon hast.
    Dank der Rekursion kann ich IF-Schleifen bauen.

    In neuem Glanz: www.turbohummel.de

  3. #3
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Ich weiß ja nicht wirklich was Du vor hast. Ich selber bin auch nicht wirklich der Designexperte. Aber sollte nicht ein Menü eine feste Breite haben? Ein Anwender sollte sich doch auf einer Seite recht schnell zurecht finden. Dazu gehören auch die Wiederekennbarkeit (Form, Farbe und Größe) wichtiger Navigationselemente.

    Ansonst hat mir persönlich auch immer das geholfen: *grml* mein Link ist mir abhanden gekommen.

    Aber hier habe ich auch noch zwei gute, wenn auch ältere Artikel zum Thema:
    - http://www.alistapart.com/articles/fauxcolumns
    - http://www.alistapart.com/articles/elastic

    Pingu
    Homepage: www.pingu.info

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    Hi!
    danke für eure Antworten.
    Ich habe es in der zwischenzeit hinbekommen:
    Code:
    #menu {
      text-align:right;
      float: left;
      width: 40%
      overflow: auto;
    }
    
    #inhalt {
      float: left;
      width: 60%;
      margin-left: 50px;
      overflow: auto;
    }
    es kann zwar immer noch Situationen geben wo es nicht passt, aber zumindest für meine bisherigen Fälle funktioniert es.

    Der Hintergrund, die Seite ist prinzipiell so aufgebaut: links menu, rechts inhalt. Die Menupunkt ändern sich aber von html Seite zu HTML Seite. Eine allgemeine menu-Klasse sollte also immer links sein, immer gleich aussehen aber eben abhängig von der Seite/menu-einträgen immer minimal sein.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  5. #5
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Ich würde das Grundgerüst nicht mit Hilfe von float generieren. Denn langfristig verbaust Du Dir damit die Möglichkeit im normalen Fließtext float zu verwenden, um Bilder, Boxen oder was auch immer rechts oder links mit umfließenden Text zu positionieren.

    Besser ist es die divs für das Grundgerüst absolut zu positionieren und Margins zu definieren.

    Wie schon oben angedeuted, ich bin nicht der Designprofi (deswegen gefällt mir meine Website so wie sie z. Zt. ist nicht wirklich). Aber trozdem als Grundgerüst kannst Du Die einmal meine Site ansehen: http://www.pingu.info
    Insbesondere hier findest Du dann auch ein Beispiel wie dann float trotzdem funktioniert: http://www.pingu.info/ts/travel/

    Pingu
    Homepage: www.pingu.info

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    so langsam treibt mich das ganze echt zur verzweiflung.

    Folgende Situation:
    -oben ein paar Zeilen über die volle breite
    -dann aufteilung in links=menu, rechts=inhalt
    -unten wieder ein paar zeilen über die ganze breite

    folgender css code:
    Code:
    #links {
     position: absolute; 
      text-align:right;
      width: 20%
    }
    
    
    #rechts {
      width: 75%;
      margin-left: 25%;
    }
    
    #unten{ 
       margin-top:1em;
    }
    beim ersten laden ist jetzt das menu (#links) aber ganz oben, d.h. es überdeckt die oberen Zeilen die über die ganze breite gehen. Ein reload bringt das menu dann in die richtige position.
    Der untere Teil der wieder über die ganze breite gehen soll (#unten) hängt sich immer ans Ende des Inhalts(#rechts), d.h. wenn der Inhalt(#rechts) kürzer ist als das Menu, dann schreibt die Fußzeile (#unten) in das Menu rein.

    Was mache ich denn jetzt schon wieder falsch?

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  7. #7
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    vielleicht helfen dir die beispiele im unten geposteten link weiter

    http://www.css4you.de/wslayout1/index.html

  8. #8
    Registrierter Benutzer
    Registriert seit
    19.04.2001
    Beiträge
    159
    langsam zweifel ich daran, ob das überhaupt geht, was ich vor habe. Aber eigentlich kann es doch nicht so schwer sein...

    Ich habe jetzt nämlich dieses Tutorial gefunden:
    http://www.bigbaer.com/css_tutorials...der-footer.htm

    und es hat genau das gleiche Problem wie mein code. Der "footer" setzt sich direkt unter das rechte css-element und kommt dadurch dem Menu in die quere.
    Es muß doch auch möglich sein, dass der "footer" unter dem Menu und unter dem "Inhalt-frame" ist.

    "I could have made some money developing proprietary software, and perhaps amused myself writing code. But I knew that at the end of my career, I would look back on years of building walls to divide people, and feel I had spent my life making the world a worse place."
    -- Richard M. Stallman

    Wissenskommunismus und Wissenskapitalismus
    Offene Quellen und öffentliches Wissen
    und vieles mehr: VRG's Texts , Philosophy of the GNU Project

  9. #9
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    also ich weiss nicht genau was du meinst... aber evtl. funktioniert folgendes:
    HTML-Code:
    <body>
    <div id="box">
      <div id="header">
      </div>
      <div id="main">
        <div id="menu">
        </div>
        <div id="content">
        </div>
        <br style="clear:both;" /> <!-- nötig um das float-layout aufzuheben! -->
      </div>
      <div id="footer">
      </div>
    </div>
    </body>
    und mit folgenden css-rules:
    Code:
    #box {
      /* hier breite für das ganze design, zb */
      width:760px;
    }
    
    #header {
      /* format für den header falls gewünscht (sonst das ganze div weglassen) */
    }
    
    #main {
      /* formatierung für den normalen teil */
    }
    
    #menu {
      float:left /* links ausrichten */
      width:25%; /* gew. breite: absolut oder relativ */
      /* eventuell weiter angaben */
    }
    
    #content {
      float:right; /* rechts daneben ausrichten */
      width: 70%; /* dann gehts sicher in allen browsern nebeneinander vorbei... an die beim menu gewählte breite anpassen! */
    }
    
    #footer {
      margin-top:5em; /* etwas abstand schaffen */
    }
    bei allen divs kann zusätzlich noch ein Rahmen angezeigt werden, damit man genau sieht wo die "div"-Grenzen sind. Ich mache meine "debug"-Rähmen meist mit
    Code:
    border:1px blue dotted;
    was einen blauen gepunkteten Rahmen um die jew. Elemente gibt.

    hoffe geholfen zu haben :-)

    mfg jeebee

    edit:
    der gepostete code ist nicht getestet... ich habs aber schon mehrmals erfolgreich eingesetzt.
    Geändert von jeebee (18-01-2006 um 19:11 Uhr)

  10. #10
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Uiuiui - dreifachverschachtelte div's. Damit hab ich persönlich sehr schlechte Erfahrungen gemacht... (von falscher Anzeige bist 20 Sekunden Ladezeit - vielleicht ists ja heutzutage besser)

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  11. #11
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    also ich weiss nicht, aber bei mir läufts relativ gut und negative Rückmeldungen habe ich bisher noch keine erhalten.

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •