2016-05-21 15 views
0

Ich brauche Hilfe mit diesem, ich bin nicht ganz sicher, wie ich mein Problem in Worten zu erklären, also hier ist ein Bild. this is what it looks likeText vertikal mit Flexbox zentrieren, Ergebnis nicht erstellen Ich möchte

this is what I want it to look like (from another website) Nicht Stil alle, nur die Zentrierung.

Ich möchte, dass meine Links wie folgt zentriert werden: ÜBER SPENCER HILTBRAND DIENSTLEISTUNGEN KONTAKT

Heres mein CSS

/* Navigation */ 

    .navigation { 
     background: #fff; 
     width: 100%; 
     height: 156px; 
     display: flex; 
     align-items: center; 
     justify-content: center; 
     box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.5); 
    } 

    .nav-item { 
     text-decoration: none !important; 
     font-size: 35px; 
     text-transform: uppercase; 
     transition: 0.3s color; 
     padding: 20px; 
    } 

HTML-Struktur:

<!-- Header --> 
<div class="container"> 
    <nav class="navigation"> 
    <ul> 
     <a class="nav-item">Home</a> 
     <a class="nav-item">About</a> 
     <a class="brand"><i class="orange">Spencer</i> Hiltbrand</a> 
     <a class="nav-item">Services</a> 
     <a class="nav-item">Contact</a> 
    </ul> 
    </nav> 
</div> 
+2

Hallo Spencer - Willkommen Überlauf Stack! Es ist hilfreich, wenn wir das Problem reproduzieren können, das Sie haben. Bitte posten Sie Ihre HTML und CSS. Hier ein paar Tipps: http://stackoverflow.com/help/how-to-ask –

+0

ein 'margin: auto;' on '.nav-item' würde tun, wenn sie direkt Kind von' .navigation' sind ... zu viel Flex stört Flex :) –

+0

@GCyrillus Lies mein Update, vielleicht hilft es dir besser zu verstehen, dein Vorschlag hat nicht funktioniert. –

Antwort

1

Als ich bemerkte, können Sie margin:auto; verwenden und von Ihrem HTML können wir sehen, was schief gelaufen ist: Das ist das einsame <ul> tag:

/* Navigation */ 
 
    .navigation { 
 
    background: #fff; 
 
    width:100%; 
 
    height: 156px; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: center; 
 
    box-shadow: 1px 1px 15px rgba(0, 0, 0, 0.5); 
 
    /* demo purpose : flex-wrap:wrap or min-width */ 
 
    min-width:1000px; 
 
    } 
 
    .nav-item { 
 
    text-decoration: none !important; 
 
    font-size: 35px; 
 
    text-transform: uppercase; 
 
    transition: 0.3s color; 
 
    padding: 20px; 
 
    } 
 
    .nav-item, 
 
    .brand { 
 
    margin: auto 0; 
 
    } 
 
    .brand { 
 
    font-size: 50px; 
 
    text-transform: uppercase; 
 
    font-weight: bold; 
 
    } 
 
    .orange { 
 
    color: orange; 
 
    }
<!-- Header --> 
 
<div class="container"> 
 
    <nav class="navigation"> 
 
    <a class="nav-item">Home</a> 
 
    <a class="nav-item">About</a> 
 
    <a class="brand"><i class="orange">Spencer</i> Hiltbrand</a> 
 
    <a class="nav-item">Services</a> 
 
    <a class="nav-item">Contact</a> 
 
    </nav> 
 
</div>

0

Scheint, wie die Antwort hat wurde bereits in einem anderen Beitrag gegeben. Vertically centering text inside flexbox

#first { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
} 

#second { 
    display: flex; 
    justify-content: center; 
    align-items: center; 
} 

Hier ist ein jsfiddle in der Post gegeben.

+1

@Michael_B Habe es gerade mit einer Antwort auf Stack aktualisiert. –

+0

Lies mein Update, vielleicht hilft es dir besser zu verstehen. –

0

Sie brauchen nicht so viel Code - dies ausreichend ist:

http://jsfiddle.net/zfg2sg9L/1/

<div id="container"> 
    <div class="x"> 
     first box 
    </div> 
    <div class="x"> 
     second box 
    </div> 
    <img src="http://placehold.it/100x80"> 
    <div class="x"> 
     third box 
    </div> 
    <div class="x"> 
     fourth box 
    </div> 
</div> 

CSS:

#container { 
    display: flex; 
    justify-content: center; 
} 
.x { 
    margin: auto 20px; 
} 

Der Behälter wird justify-content: center horzontally das Ganze zu zentrieren. Die Flex-Elemente erhalten margin: auto 20px;: Die für oberen und unteren Rand, um sie vertikal zu zentrieren, die 20px links und rechts, um einen Abstand zwischen den Elementen zu schaffen. Das ist alles, was es wirklich braucht.

Verwandte Themen