2017-03-24 11 views
1

私はブートストラップStudioで旅行サイトを構築しています - >http://stackoverflowquestion.bss.design/BootstrapハンバーガーメニューをNavbarに垂直に配置するにはどうすればいいですか?

は、1つの問題を除いて、これまでのところうまくいっています:私は縦ロゴに比例してハンバーガーメニューを揃える難しさを持っています。

私はcssに以下を追加しました見つかった問題対処する簡単な方法:

button.navbar-toggle.collapsed { 
    top:42px; 
} 

このアプローチの問題は、しかし、ということである:画面がにつれて、ロゴのサイズが変更

  1. を小さいですが、バーガーメニューは同じ高さにとどまります
  2. ユーザーがスクロールすると、ナビゲーションバー全体が縮小し、バーガーメニューが同じ高さに維持されます

@mediaのクエリを追加することができますが、膨大な数のクエリが追加されることがあります。バーガーメニューを常にロゴの中央に配置するより良い方法があるかどうかは疑問です?

答えて

0

flexboxを使用して、メニューを意図通りに整列させることができます。

navbar-header要素にこれを追加します。

display: flex; 
align-items: center; 
+0

Hmmはうまく動作していないようですが、メニューがひどく歪んでいますか? – DDiran

+0

スクリーンショットを作成するか、コードプレビューを提供できますか? デベロッパーツールでのみ問題を解決するのはちょっと難しいことがあります。また、どのブラウザを使用していますか?おそらくあなたのブラウザはFlexboxを十分にサポートしていないでしょう。 – Maharkus

0

それが絶対的に配置されている場合は、あなたがtransformを使用することができます。このよう

button.navbar-toggle.collapsed { 
    top:50%; 
    transform: translateY(-50%); 
} 

使用%は、それがダイナミックになります。これにより、最初の親の内側に、位置がrelativeまたはabsoluteの垂直方向に配置されます。

+0

あなたのコメントをありがとう、何らかの理由でそれが動作しない、それはメニューをさらにプッシュするようだ? – DDiran

関連する問題