2016-03-21 6 views
0

2つのブレークポイントを持つmedia-queryとflexboxを使用すると、:beforeコンテンツを "|"で分割する前にうまくいきました:フレックスボックスを使ってナビゲーションメニューに擬似を使用する:beforeは2行で分割しています

.navigation li+li:before { 
    content: '/ '; 
} 

JsFiddle

どのように私はそれがメニューの残りの部分とインライン滞在することができますか?

答えて

2

あなたは、各li

display: flexalign-items: centerを使用することができます

.navigation { 
 
    list-style: none; 
 
    margin: 0; 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    justify-content: flex-end; 
 
    font-weight: 300; 
 
    font-size: 18px; 
 
} 
 
li { 
 
    display: flex; 
 
    align-items: center; 
 
} 
 
.navigation a { 
 
    text-decoration: none; 
 
    color: #F05A24; 
 
    padding: 14px 16px; 
 
} 
 
.navigation li+li:before { 
 
    content: '/ '; 
 
}
<ul class="navigation"> 
 
    <li><a href="#">Home</a></li> 
 
    <li><a href="#">About</a></li> 
 
    <li><a href="#">Products</a></li> 
 
    <li><a href="#">Contact</a></li> 
 
</ul>

あなたがliの真ん中にあるように小さな画面上でspace-aroundレイアウトを使用して/を取得したい場合は、この代わりに

.navigation { 
 
    list-style: none; 
 
    padding: 0; 
 
    margin: 0; 
 
    display: flex; 
 
    flex-wrap: wrap; 
 
    font-weight: 300; 
 
    font-size: 18px; 
 
} 
 
li { 
 
    flex: 1; 
 
    display: flex; 
 
    align-items: center; 
 
    justify-content: space-around; 
 
} 
 
.navigation a { 
 
    text-decoration: none; 
 
    color: #F05A24; 
 
    padding: 14px 16px; 
 
} 
 
.navigation li:before { 
 
    content: '/ '; 
 
} 
 
.navigation li:first-child:before { 
 
    content: '/ '; 
 
    color: transparent; 
 
}
<ul class="navigation"> 
 
    <li><a href="#">Home</a></li> 
 
    <li><a href="#">About</a></li> 
 
    <li><a href="#">Products</a></li> 
 
    <li><a href="#">Contact</a></li> 
 
</ul>

+0

閉じる!しかし、/は次の単語に近すぎるので奇妙に見えます。その間に置く方法はありますか? –

+0

これはすでに中間にありますか? –

+0

幅がブレークポイントの直前であると面白いですが(http://i.imgur.com/RPSqsud.png)、私は、:beforeの制限にすぎないと思います。ありがとう! –

0

リンクをblockの要素に設定すると、動作に問題はありません。 リンクからブロックプロパティを削除し、inline-blockにリセットしてverticalpaddingを許可します。

display解除:https://jsfiddle.net/jk37gbpn/3/

display:inline-block;https://jsfiddle.net/jk37gbpn/4/

ul { 
 
    list-style: none; 
 
    margin: 0; 
 
    display: -webkit-box; 
 
    display: -moz-box; 
 
    display: -ms-flexbox; 
 
    display: -webkit-flex; 
 
    display: flex; 
 
    -webkit-flex-flow: row wrap; 
 
    justify-content: flex-end; 
 
    font-weight: 300; 
 
    font-size: 18px; 
 
} 
 
.navigation a { 
 
    display:inline-block; 
 
    text-decoration: none; 
 
    color: #F05A24; 
 
    padding: 14px 16px; 
 
} 
 
.navigation a:hover { 
 
    font-weight: 400; 
 
    color: black; 
 
} 
 

 
.navigation li+li:before { 
 
    content: '/ '; 
 
} 
 
@media all and (max-width: 820px) { 
 
    .navigation { 
 
    justify-content: space-around; 
 
    } 
 
    .navigation a { 
 
    font-size: 120%; 
 
    } 
 
    #logo { 
 
    display: none; 
 
    } 
 
}
<ul class="navigation"> 
 
    <li><a href="#">Home</a> 
 
    </li> 
 
    <li><a href="#">About</a> 
 
    </li> 
 
    <li><a href="#">Products</a> 
 
    </li> 
 
    <li><a href="#">Contact</a> 
 
    </li> 
 
</ul>

関連する問題