2016-03-20 16 views
3
  1. Wie kann ich das letzte Element nach rechts strecken und das Filtersymbol am rechten Ende der Seite ausrichten?flex - letzten Artikel nach rechts ausrichten

    der graue Hintergrund müssen nach rechts

  2. strecken Wie kann ich die Symbole vertikal in flex Zentrieren?

    align-items:center; verursacht die Höhe der li zu kollabieren.

body{ 
 
    background: url(http://i.imgur.com/ilgJJ1Q.gif); 
 
    margin: 0; 
 
} 
 
ul{ 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
    display: flex; 
 
    height: 80px; 
 
} 
 
li{ 
 
    padding: 10px; 
 
    text-align: center; 
 
    min-width: 80px; 
 
} 
 
li:last-child{ 
 
    background: rgba(38, 46, 54, .6); 
 
} 
 
.c2{ background: #a15796; } 
 
.c3{ background: #b48c4d; } 
 
.c4{ background: #3a7d7d; }
<ul> 
 
    <li class="c1"><img src="http://i.imgur.com/SRVh4os.png" alt=""></li> 
 
    <li class="c2"><img src="http://i.imgur.com/rBM2CYr.png" alt=""></li> 
 
    <li class="c3"><img src="http://i.imgur.com/9dFFuH5.png" alt=""></li> 
 
    <li class="c4"><img src="http://i.imgur.com/7bQ73kd.png" alt=""></li> 
 
    <li class="c1"><img src="http://i.imgur.com/yJ4vKBG.png" alt=""></li> 
 
</ul>

https://jsfiddle.net/afelixj/79pybrh9/

die aktuelle Seite hat Text auch mit dem Symbol

enter image description here

+0

So möchten Sie 'c1' die alle füllen können Raum nach rechts? –

+0

müssen zuletzt mit grau bg nach rechts erweitert werden. –

+1

das kann Ihnen helfen: http://StackOverflow.com/a/33856609/3597276 –

Antwort

2

Da Sie Höhe aufbehoben habenkönnen Sie line-height für vertikale Ausrichtung verwenden. Sie müssen auch flex: 1 zu li:last-child hinzufügen, um verbleibenden Platz zu nehmen.


Instad von line-height Sie auch display: flex auf jedem li und dann zentriert sein Inhalt mit align-items: center und justify-content: centerFiddle

body{ 
 
    background: url(http://i.imgur.com/ilgJJ1Q.gif); 
 
    margin: 0; 
 
} 
 
ul{ 
 
    margin: 0; 
 
    padding: 0; 
 
    list-style: none; 
 
    display: flex; 
 
    height: 80px; 
 
} 
 
li{ 
 
    padding: 10px; 
 
    text-align: center; 
 
    min-width: 80px; 
 
    line-height: 80px; 
 
} 
 
li:last-child{ 
 
    background: rgba(38, 46, 54, .6); 
 
    flex: 1; 
 
} 
 
.c2{ background: #a15796; } 
 
.c3{ background: #b48c4d; } 
 
.c4{ background: #3a7d7d; }
<ul> 
 
    <li class="c1"><img src="http://i.imgur.com/SRVh4os.png" alt=""></li> 
 
    <li class="c2"><img src="http://i.imgur.com/rBM2CYr.png" alt=""></li> 
 
    <li class="c3"><img src="http://i.imgur.com/9dFFuH5.png" alt=""></li> 
 
    <li class="c4"><img src="http://i.imgur.com/7bQ73kd.png" alt=""></li> 
 
    <li class="c1"><img src="http://i.imgur.com/yJ4vKBG.png" alt=""></li> 
 
</ul>

+0

gibt es noch eine andere Möglichkeit, dass 'line-height'? Ich muss später rechts neben dem Symbol einen Text hinzufügen, der aus einer oder zwei Zeilen bestehen kann. –

+0

Ja, es gibt 'flex' auf jedem' li' wie diesem https://jsfiddle.net/Lg0wyt9u/233/ –

+0

Ich habe Text mit dem Bild hinzugefügt, und styled auch das ': nachher .. https://jsfiddle.net/afelixj/Lg0wyt9u/234/](https://jsfiddle.net/afelixj/Lg0wyt9u/234/) .. Kannst du bitte hineinschauen und mich leiten, wenn es möglich ist das zu justieren ': after' unter dem Text .. screenshot hinzugefügt in der Frage –