2つのブレークポイントを持つmedia-queryとflexboxを使用すると、:beforeコンテンツを "|"で分割する前にうまくいきました:フレックスボックスを使ってナビゲーションメニューに擬似を使用する:beforeは2行で分割しています
.navigation li+li:before {
content: '/ ';
}
どのように私はそれがメニューの残りの部分とインライン滞在することができますか?
2つのブレークポイントを持つmedia-queryとflexboxを使用すると、:beforeコンテンツを "|"で分割する前にうまくいきました:フレックスボックスを使ってナビゲーションメニューに擬似を使用する:beforeは2行で分割しています
.navigation li+li:before {
content: '/ ';
}
どのように私はそれがメニューの残りの部分とインライン滞在することができますか?
あなたは、各li
にdisplay: flex
とalign-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>
リンクをblock
の要素に設定すると、動作に問題はありません。 リンクからブロックプロパティを削除し、inline-block
にリセットしてvertical
padding
を許可します。
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>
異なるアプローチのような何かを行うことができ、上記と同じ問題:/が次の単語に近すぎるために奇妙に見えます。その間に置く方法はありますか? –
@CristianoMaiaよく与えます:BFCの前にパディングやマージンを使うことができるので、問題はがブロックであって、行を破ったという事実から来ました。**私の答えのポイントは、動作を説明することでした。フレックスで遊ぶことはできますが、ディスプレイの動作(または浮動小数点またはポジション)にまだ何が含まれているかはまだ分かりません;) –
幅がブレークポイントの直前であると面白いですが(i.imgur.com/RPSqsud.png) :の前の制限。ありがとう!私は| (固定幅で)適切に間隔を置いた要素として、または古いインラインモード(フレックスボックスなし)に戻って、テキストを中央とフォントサイズvwに揃えて戻します。 –
閉じる!しかし、/は次の単語に近すぎるので奇妙に見えます。その間に置く方法はありますか? –
これはすでに中間にありますか? –
幅がブレークポイントの直前であると面白いですが(http://i.imgur.com/RPSqsud.png)、私は、:beforeの制限にすぎないと思います。ありがとう! –