tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
3
ZUGRIFFE
710
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
DIESES THEMA IST
GESCHLOSSEN
  1. #1
    Avatar von Karl Förster
    Karl Förster Karl Förster ist offline Mitglied Platin
    Registriert seit
    Feb 2001
    Ort
    München
    Beiträge
    646
    Hallo Leute,

    heute habe ich auch mal eine CSS-Frage. Ich habe innerhalb eines DIVs mit fester Breite 1-4 DIVs, die ich per float:left; dazu bringe nebeneinander zu erscheinen. Jetzt soll zwischen den DIVs ein Abstand von 10px sein, aber nicht in den Abständen nach außen.

    Folgender Quelltext:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    // CSS
    #aussen {
      width: 650px;
    }
     
    #aussen .box {
      float: left;
    }
     
    #aussen .box + .box {
      margin-left: 10px;
    }
     
    #aussen .colspan1 {
      width: 155px;
    }
     
     
     
    // HTML
    <div id="aussen">
      <div class="box colspan1">
        Inhalt der Box 1.
      </div>
      <div class="box colspan1">
        Inhalt der Box 2.
      </div>
      <div class="box colspan1">
        Inhalt der Box 3.
      </div>
      <div class="box colspan1">
        Inhalt der Box 4.
      </div>
    </div>
    Der Verknüpfung der Klasse box + box führt in den meisten Browsern dazu, dass das Element mit der Klasse "box", dass direkt auf ein anderes Element mit der Klasse "Box" folgt, davon einen linken Abstand von 10px bekommt. Nur im IE wird das nicht interpretiert.

    Ich habe auch schon überlegt eine Browserweiche zu machen und entweder dem ersten oder letzten DIV eine andere Klasse zu geben, in der ich einen Abstand weglasse, aber das ist auch nicht die beste Lösung.

    Die Pseudo-Klasse :first-child habe ich mir auch schon angesehen. Diese wird leider auch von IE nicht interpretiert.

    Hat jemand das Problem schon einmal gehabt und kennt dort ggf. ein IE-Hack um das Problem auszugleichen?
     
    MfG

    Karl Förster
    Entwicklung / Development
    Appia, Inc.


    appia.com

  2. #2
    Maik Tutorials.de Gastzugang
    Hi,

    ich würde das so umsetzen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    #aussen {
      width: 650px;
    }
     
    #aussen .box {
      float: left;
    }
     
    #aussen .colspan1 {
      width: 155px;
    }
     
    [b]#aussen .marginRight {
      margin-right: 10px;
    }[/b]
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <div id="aussen">
      <div class="box colspan1 [b]marginRight[/b]">
        Inhalt der Box 1.
      </div>
      <div class="box colspan1 [b]marginRight[/b]">
        Inhalt der Box 2.
      </div>
      <div class="box colspan1 [b]marginRight[/b]">
        Inhalt der Box 3.
      </div>
      <div class="box colspan1">
        Inhalt der Box 4.
      </div>
    </div>
    Dann ist auch kein CSS-Hack oder eine Browserweiche für den IE erforderlich.
     

  3. #3
    Avatar von hela
    hela hela ist offline Mitglied Smaragd
    tutorials.de Premium-User
    Registriert seit
    Oct 2004
    Beiträge
    1.123
    Hallo,

    ich habe auch eine Variante: In den "aussen"-DIV-Block noch einen transparenten "innen"-DIV-Block einsetzen, der mit einem negativen Margin rechts um 10px verbreitert wird.
    Kurz und schmerzlos:
    HTML-Code:
    <div id="aussen">
        <div class="innen">
          <div>Inhalt der Box 1.</div>
          <div>Inhalt der Box 2.</div>
          <div>Inhalt der Box 3.</div>
          <div>Inhalt der Box 4.</div>
        </div>
    </div>
    CSS:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    #aussen {
      width: 650px;
    }
    #aussen .innen {
        margin-right: -10px;
    }
    #aussen .innen div {
        float: left;
        width: 155px;
        margin-right: 10px;
    }
     

  4. #4
    Avatar von Karl Förster
    Karl Förster Karl Förster ist offline Mitglied Platin
    Registriert seit
    Feb 2001
    Ort
    München
    Beiträge
    646
    @Maik: An diese Lösung hatte ich auch schon gedacht, aber ich wollte eben nicht unterschiedliche Klassen zuweisen, da das ganze einfach ohne Aufwand verschiebbar sein soll.

    @hela: Die Lösung scheint mir die sauberste zu sein. Werde ich morgen gleich mal ausprobieren. Ich das wird schon funktionieren. Danke. Manchmal sieht man eben den Wald vor lauter Bäumen nicht mehr.
     
    MfG

    Karl Förster
    Entwicklung / Development
    Appia, Inc.


    appia.com

Ähnliche Themen

  1. Divs anordnen / Abstände etc.
    Von dobber812 im Forum CSS
    Antworten: 4
    Letzter Beitrag: 06.01.09, 15:44
  2. Antworten: 0
    Letzter Beitrag: 19.04.08, 08:57
  3. Containerhöhe bei floatenden Divs
    Von aquasonic im Forum CSS
    Antworten: 4
    Letzter Beitrag: 22.01.07, 13:13
  4. Problem mit floatenden Divs
    Von CarnivoreCI im Forum CSS
    Antworten: 3
    Letzter Beitrag: 01.11.06, 13:00
  5. Abstände zwischen Divs löschen
    Von LeH im Forum CSS
    Antworten: 1
    Letzter Beitrag: 16.05.05, 18:30