[CSS] DIV Container

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [CSS] DIV Container

    Hallo alle zusammen,

    Ich arbeite schon seit Jahren konstant und mit Erfolg mit Tabellen... auch für den Aufbau eines Layouts, da es sich ansich sehr schön händelt mit Tabellen zu arbeiten. Jetzt beschäftige ich mich schon seit geraumer Zeit mit den guten alten DIV Containern, die ich für einfache Dinge oder auch mal bei absolut positionierten Geschichten mit festen Breiten und Höhenangaben auch schon verwende.

    Ein Problem bei DIVs bekomme ich bisher immer nur, wenn ich mal was dynamisches machen möchte. Kleines Beispiel:

    Ich sage meinem DIV, dass er sich 100% der Breite anpassen soll.
    Dazu möchte ich Ihm noch eine grundlegende Höhe geben, die immer genommen wird, wenn wenig Inhalt im Container liegt.
    Wenn nun der Inhalt mehr wird, als der DIV hoch ist, dann läuft der Inhalt über meinen DIV Rand hinaus aber die Höhe bleibt bestehen.
    Ich hätte aber gern, dass er sich wie eine ganz normale Tabellenzelle, dem Inhalt ( in der Höhe ) mit anpasst.

    Hab ich evtl. einen CSS Befehl übersehen oder geht sowas mit DIVs garnicht? Könnte ich mir irgendwie garnicht vorstellen oder irre ich doch?

    Das selbe Problem bekomme ich auch, wenn ich in die Breite gehen möchte. Kleines Beispiel:

    Ich habe mir in PHP eine Klasse geschrieben, die mir ein Menü aufbaut. Es funktioniert alles genau so, wie ich wollte... bis auf das ich blöder weise und für mich persönlich auch unsauberer Weise, für jeden Menüpunkt eine komplette Tabelle nutze, die float: left: steht.
    Ich nutze die Tabelle deshalb, weil sich die Zelle der Breite meines Textes(Inhalts) anpasst und somit der nächste Menüpunkt wieder schön daneben steht. Bei DIVs wills nicht so wie ich will, da hier wieder der DIV sich nicht dem Inhalt in der Breite anpasst und somit die einzelnen Punkte teilweise übereinander liegen.

    Was hättet Ihr für ein paar Tipps in Sachen DIV für mich.
    Evtl. ein paar Beispiele, wo man mal was sehen kann.
    Sie werden mir immer sympatischer aber dabei HASSE ich sie noch...

    Mario

  • #2
    Lösung der Probleme:

    overflow: visible;

    Geht allerdings nur im IE.
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

    Kommentar


    • #3
      [CSS] DIV

      Danke für den Link.
      Ich hab mir das mal angeschaut und auch getestet.
      Da diese Einstellung ausschließlich im IE funktioniert, ist sie nicht wirklich für mich gebrauchbar, da ich, wie bestimmt viele andere auch im FF arbeite und "nur" Teste, ob meine Projekte im IE möglichst gleich ausschauen. Da diese Funktion im FF gleich garnichts auswirkt, kann ichs leider nicht nutzen.

      Gibts da wirklich keinerlei weitere Mittel oder Methoden, wie man den DIV an den Inhalt anpassen kann?

      Mario

      Kommentar


      • #4
        Wenn Du einem DIV eine feste Höhe verpasst, dann läuft dein Inhalt immer über. Es sei denn Du benutzt overflow:auto;, aber das ist nicht die Lösung.
        Ich würde das ganze faken. Nimm einen DIV, dem du deine Mindesthöhe gibst. In diesem noch einen DIV der keine feste Höhenangabe hat und beiden die selbe Hintergrundfarbe, darin dein Menue...feddisch.
        Ist allerdings ungetestet, sollte aber funktionieren.
        Ich sage meinem DIV, dass er sich 100% der Breite anpassen soll.
        Das mußt Du nicht tun. Ein Div ist immer 100% breit.

        Kommentar


        • #5
          [CSS] DIV

          DIV in DIV.... hmm
          Habs gerade mal getestet.... funktioniert wunderbar, so wie ich das sehe. Trotz 2 DIVs ist es immernoch wesentlich weniger Quelltext als bei einer Tabelle. Gefällt mir...

          Danke nochmal.

          Mario

          Kommentar


          • #6
            [CSS] DIV in horizontaler Anwendung

            Ich bins nochmal.
            Wenn wir schonmal beim Thema sind, dann hab ich gleich noch eine Frage zur Anwendung von DIVs. Diesmal allerdings im Bezug auf die Anwendung in einer Zeile.

            Wenn ein DIV ja immer automatisch versucht 100% Breite zu haben, wie bringe ich Ihn dann dazu, dass er immer nur so Breit ist, wie mein Text von zb. einem Menüpunkt? Um den nächsten daneben zu bekommen setze ich einfach float: left; aber die Breite macht mir dennoch immernoch zu schaffen.

            Mario

            Kommentar


            • #7
              Re: [CSS] DIV in horizontaler Anwendung

              Original geschrieben von GELight
              Wenn ein DIV ja immer automatisch versucht 100% Breite zu haben, wie bringe ich Ihn dann dazu, dass er immer nur so Breit ist, wie mein Text von zb. einem Menüpunkt?
              Menüpunkte bringst du nicht in Divs unter, das wäre unsinnig.

              Menüpunkte stehen in Links, und die wiederum idR. in einer Liste.

              Und wenn du nicht willst, dass sich ein Block-Element wie Block verhält - dann ändere bspw. seine Formatierung bzgl. der CSS-Eigenschaft display.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Re: [CSS] DIV in horizontaler Anwendung

                Original geschrieben von GELight
                ... Diesmal allerdings im Bezug auf die Anwendung in einer Zeile. ...
                Block-Elemente erzeugen standardmäßig stets Zeilenumbrüche. Für dein Anliegen gibt es die "Inline"-Elemente. Meist <span>.

                Mehr infos: css4you
                Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

                Kommentar

                Lädt...
                X