968 Stimmen

Wie kann ein Flex-Element rechts ausgerichtet werden?

Gibt es eine flexbox-ähnlichere Möglichkeit, "Kontakt" rechts auszurichten, als position: absolute zu verwenden?

.main {
  display: flex;
}

.a,
.b,
.c {
  background: #efefef;
  border: 1px solid #999;
}

.b {
  flex: 1;
  text-align: center;
}

.c {
  position: absolute;
  right: 0;
}

Mit Titel

  Home
  Einige zentrierte Titel
  Kontakt

Ohne Titel

  Home

  Kontakt

http://jsfiddle.net/vqDK9/

31voto

CESCO Punkte 6266

So einfach wie

.main {
    Anzeige: flex;
    flex-direction: row-reverse;
}

24voto

Monir Khan Punkte 335

Margin-left: auto works well. But clean flex box solution would be space-between in the main class. Space between works well if there is two or more elements. I have added a solution for single element as well.

.main { display: flex; justify-content: space-between; }
.a, .b, .c { background: #efefef; border: 1px solid #999; padding: 0.25rem; margin: 0.25rem;}
.b { flex: 1; text-align: center; }

.c-wrapper {
  display: flex;
  flex: 1;
  justify-content: flex-end;
}

.c-wrapper2 {
  display: flex;
  flex: 1;
  flex-flow: row-reverse;
}

    Home
    Einige zentrierte Überschrift
    Kontakt

    Home
    Kontakt

      Kontakt
      Kontakt2

      Kontakt
      Kontakt2

17voto

andreisrob Punkte 1595

Fügen Sie die folgende CSS-Klasse zu Ihrem Stylesheet hinzu:

.my-spacer {
    flex: 1 1 auto;
}

Platzieren Sie ein leeres Element zwischen dem Element links und dem Element, das Sie rechts ausrichten möchten:

13voto

TetraDev Punkte 14424

Wenn Sie möchten, dass ein Element linksbündig (wie eine Überschrift) angeordnet ist, aber dann mehrere Elemente rechtsbündig (wie 3 Bilder), würden Sie etwas Ähnliches tun:

h1 {
   flex-basis: 100%; // zwingt dieses Element dazu, verbleibenden Platz einzunehmen
}

img {
   margin: 0 5px; // kleiner Abstand zwischen Bildern
   height: 50px; // Bildbreite wird im Verhältnis zur Höhe angezeigt, falls die Bilder groß sind - optional, wenn die Bilder bereits die richtige Größe haben
}

So wird das aussehen (nur der relevante CSS-Code wurde im obigen Snippet enthalten)

Bildbeschreibung eingeben

10voto

Mohammad Adeel Punkte 109

'justify-content: flex-end' hat innerhalb des Preiskastencontainers funktioniert.

.price-box {
    justify-content: flex-end;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X