CSS3のdisplay: flex;
プロパティを見つけて、それを私のウェブサイトのスティッキーヘッダーに適用しようとしましたが、問題が発生しました。 、<nav>
タグ降下要素にCSS3フレックススタイルを適用するにはどうすればよいですか?
目標は均一空間にヘッダの全幅にわたるすべてリンクしていたが、意味的に持つ要素をグループ化するとき、これは不可能だ、例えば。 https://jsfiddle.net/9bua0n7o/
<header>
<div class="logo">
Logo
</div>
<nav class="navigation">
<a href="#">Home</a>
<a href="#">FAQ</a>
<a href="#">Contact</a>
</nav>
<div class="search">
<a href="#">Search</a>
</div>
<div class="login">
<a href="#">Register</a>
<a href="#">Login</a>
</div>
</header>
CSS:
header {
width: 100%;
height: 60px;
line-height: 60px;
display: flex;
flex-flow: row wrap;
justify-content: space-between;
position: fixed;
top: 0;
left: 0;
padding: 0 25px;
box-sizing: border-box;
background: #ccc;
}
これは私の場合に役立ちました!しかし、私には不思議な思い出が残っています...これを行うには良い方法はありませんか? '.navigation'要素の中のリンクの量が変わったらどうなりますか?私は 'flex:3;'プロパティを手動で更新して、再び動作させる必要があります。 – Swen
@スウェーデン彼らは包まれているので、ラッパーは残りの部分と比較する必要があるかどうかを知る必要があります。あなたがそれらをラップして、それらに 'flex:1'を与えるならば、それはリンクの量とは無関係に、次のように動作します:https://jsfiddle.net/LGSon/804fhnj6/ – LGSon
@Swen古いブラウザの場合、実際に行うことができますこれは 'display:table-cell'でも可能です:https://jsfiddle.net/LGSon/804fhnj6/1/ – LGSon