ロゴとメインメニューの両方をフルサイズのヘッダーに垂直に配置しなければならないことが常にあります。これを処理する方法として広く受け入れられていますか?ロゴとメニュー項目をヘッダーに垂直に配置するためのベストプラクティス
2
A
答えて
2
#header {
box-sizing: border-box;
background: #ffc301;
padding: 10px 15px;
display: table;
width: 100%;
height: 70px;
}
.logo {
background: #000;
text-align: center;
width: 70px;
color: #fff;
}
.logo,
.menu {
vertical-align: middle;
display: table-cell;
}
.menu ul {
text-align: right;
}
.menu ul li {
display: inline-block;
vertical-align: top;
}
<header id="header">
<div class="logo">Logo</div>
<nav class="menu">
<ul>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
</ul>
</nav>
</header>
2
あなたはjustify-content
: center;
とalign-items
: center;
の特性とそれを得るためにflexbox
を使用することができます。
#header {
box-sizing: border-box;
background: grey;
padding: 10px 15px;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 70px;
}
.logo {
background: black;
text-align: center;
width: 70px;
padding: 15px;
color: #fff;
}
.menu{
flex: 1;
text-align: right;
}
.menu ul li{
display: inline-block;
text-decoration: none;
}
a{
text-decoration: none;
}
<div id="header">
<div class="logo">logo</div>
<nav class="menu">
<ul>
<li><a href="#">item#1</a></li>
<li><a href="#">item#2</a></li>
<li><a href="#">item#3</a></li>
</ul>
</nav>
</div>
0
あなたが使用することができます "表示:インラインブロック" プロパティを以下のように簡単にコードを短くする...
HTML:
<header>
<div class="logo"><img src="logo.png" /></div><!--
--><nav class="menu">
<ul>
<li><a href="#">Item 1</a></li><!--
--><li><a href="#">Item 2</a></li><!--
--><li><a href="#">Item 3</a></li><!--
--><li><a href="#">Item 4</a></li>
</ul>
</nav>
</header>
CSS:
header{
background-color: grey;
box-sizing:border-box;
display:inlnie-block;
padding:10px 15px;
width:100%;
}
.logo,.menu{
display:inline-block;
font-size:0;
vertical-align:middle;
}
.logo{
text-align:left;
width:30%;
}
.logo img{
max-width:100%;
}
.menu{
text-align:right;
width:70%;
}
.menu ul li{
display:inline-block;
font-size:0;
vertical-align:middle;
}
.menu ul li a{
font-size:14px;
line-height:18px;
text-decoration:none;
}
関連する問題
- 1. Navbarのメニュー項目が垂直に中央に配置されています
- 2. 垂直サブメニュー項目を親メニューと整列する方法
- 3. フレックスボックスの垂直配置 - 項目が完全でない
- 4. メニュー項目またはメニューをJavaのJTable列ヘッダーに追加
- 5. ホバー&出現サブメニューの垂直方向に整列した拡張メニュー項目
- 6. HoneycombのActionBarの左側にメニュー項目を配置する
- 7. ナビゲーションメニュー項目「バッジ」垂直アライメント
- 8. カスタムテーマのヘッダーにメニューを配置する
- 9. ツールバーのメニュー項目を中央に配置する
- 10. スクロールのロゴを変更するとメニュー項目が下に移動する
- 11. CSSの垂直メニュー - メニュー項目サブメニューのホバーにno-hover状態になります。
- 12. 既に垂直方向に整列したメニューを同じ幅のリスト項目に集中させる方法
- 13. divとdivの下に垂直に配置されたh1
- 14. navbarと垂直メニューの間に含める
- 15. インラインブロックリスト項目の内容を垂直に整列する
- 16. リスト - サブリストの項目を垂直に表示する
- 17. CSSでの垂直配置
- 18. 垂直メニューが
- 19. ワードプレスブートストラップマルチレベル垂直メニュー
- 20. 単列と垂直に配置されたテキストとテーブル
- 21. UITabBarController項目を垂直方向に移動する
- 22. 私は、メニュー項目のクリックを処理するために、次のコードを使用していメニュー項目(WPF)
- 23. メニューの垂直アニメーション
- 24. CSSとJavascriptの垂直配置問題
- 25. Wordpressテーマの中のメニュー項目としてロゴを挿入したい
- 26. メニュー項目が再発するのを防ぐために
- 27. スウィフトiOS UISliderは、垂直スタックビューまたは配置された垂直配置制約に配置されていると機能しなくなります
- 28. 垂直ヘッダーを水平にする
- 29. Joomla:携帯端末のさまざまな位置にメニュー項目を配置
- 30. Webkit-scrollbarを絶対と垂直に配置する
私に役立つ関連する質問があります:http://stackoverflow.com/questions/22429003/right-aligning-flex-item – JoeRocc