中央のものがページの中央にあり、横のものが固定幅の3つのコンテナを連続して表示しようとした後、私はthe CSS Flexbox modelを参照して、in a Stackoverflow questionと言いました。 display: flex
代わりのinline-box
としてfloat: left
またはコンテナの表示を使用してCSS Flexboxの右端のコンテナのサイズが適切でないのはなぜですか?
margin
をいじりながら、コードの途中少ない線で、非常によく動作しているようです。 #logo
、nav
と#search
:私は、行の3個のコンテナを保持するための容器#menubar
をしたい
:
はしかし、私は自分で解決するように見えることはできませんフレキシボックスの問題に遭遇しました。
<div id="menubar">
<div id="logo"></div>
<nav>
<ul>
<li><a href="#">Articles</a></li>
<li><a href="#">Images</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Disclaimer</a></li>
</ul>
</nav>
<div id="search"></div>
</div>
#logo
-containerならびに固定サイズのもので-container #search
(width: 80px
、height: 80px
)。 1つは#menubar
コンテナの左端に配置し、右端に配置する必要があります。
nav
コンテナは、#menubar
コンテナの中央に配置する必要があります。基本的にポジショニングがを働いていると私は希望のレイアウトを取得:#search
-containerが79px width * 80px height
に表示されている間
[#logo left] [nav centered] [#search right]
しかし、何らかの理由で#logo
-containerが80px width * 80px height
の指定した次元で表示されているが、
header div#menubar div#logo {
width: 80px;
height: 80px;
background-color: orange;
}
header div#menubar div#search {
width: 80px;
height: 80px;
background-color: orange;
}
確認する私は、Photoshopでスクリーンショットを作成して拡大表示し、その寸法を表示するためにコンテナを選択します。
#search
-containerの幅が1個のピクセルが欠落している理由を私は理解することはできません。
ここには、私が使用しているHTMLとCSSのJSFiddleがあります。
- 私はフレックスボックスを正しく使用していますか?
- 両方のサイドコンテナのサイズが80x80ピクセルになるように修正するにはどうすればよいですか?
'#logo'と'#search'の両方に 'flex-shrink:0'を追加してください。 See sectionフレックスシュリンクファクタ***ここでは:http://stackoverflow.com/a/34355447/3597276 –
私はちょうど 'flex-shrink:0'を追加しようとしました、Mozillaのページを見ていますFirefoxは '#search'コンテナの79pxの幅を表示します:[JSFiddle](https://jsfiddle.net/as387bhy/3/) – phew
あなたの[改訂されたフィドル](https://jsfiddle.net/as387bhy/3 /)、FF、Chrome、Edge、IE11では '#search'と'#logo'の両方が80x80(計算された)です。 –