2016-08-05 5 views
0

iOSのステータスバーのように、ページ上部にステータスバーが固定されたサイトを作っています。私はそれがトップに固定されているので、常にそこにあり、その下にコンテンツロールがあるようにします。私はまた、ステータスバーのボタンからトリガされるメニューをスライドアウトしています。すべてのサイトのコンテンツは、メニューがスライドしたときにサイドにプッシュされるdivにラップされます。固定ステータスバーがスライドアウトメニューと矛盾します

メニューがスライドすると、ステータスバーに問題が発生します。 position: fixed;に設定されているため、移動されたくありません。これは、ステータスバーをページの下にプッシュします。

ステータスバーのための私のCSS:

.toolbar { 
color: purple; 
position: fixed; 
width: 100%; 
height: 60px; 
top: 0; 
left: 0; 
padding-top: 20px; 
background: white; 
border-bottom: 1px solid $white; 
z-index: 99; 
text-align: center; 
} 

JSフィドルはちょうどMENU]ボタンをクリックし、問題の完璧な例です。

JSFiddle:コメントに基づいて https://jsfiddle.net/mqrso95g/1/

答えて

1

編集:

あなたのNAVの内側のdivを追加すると、メニューが開いているとき、あなたはその内部のdivにマージン左を追加することができます。このjsfiddleは、サイドメニューが開いたときにメニューボタンが表示されるようになりました。

ツールバーの変数をMenu.prototype._initに追加し、.inner.is-active{ padding-left:300px; }を使用して固定ナビ内のコンテンツを埋め込みました。固定要素に余白やパディングを追加することはできません。

https://jsfiddle.net/Lz9fqvy8/

オリジナル回答

================================= ====

コンテンツをスライドアウトメニューの下に隠すと、ツールバーはそのまま残ります。これを達成するために、.site-wrap.has-push-leftからtranslateXを削除しました。

https://jsfiddle.net/hg9038vd/

またmargin-left:300pxtranslateXを置き換えることができますし、ツールバーには、プッシュダウンしません。

https://jsfiddle.net/m5xcq3zf/

+0

ありがとうございます!私はスライドを知っています。コンテンツはオプションですが、私は本当にコンテンツをプッシュしたいと思っています。 2番目の解決策はステータスバーを維持しますが、実際にはステータスバーを移動したり、少なくともボタンを移動したりするようなことはありません。このアップデートを参照してください:https://jsfiddle.net/m5xcq3zf/1/メニューボタンがスライドして表示され、メニューがポップアウトされても表示されるようにします。ステータスバー全体を移動していた)。それを達成する方法はありますか?a – gkrizek

+0

最後の部分が分かりました。私は 'left:0;'を 'margin:0;'に変更しなければなりませんでした。私はまだあなたの答えを正しいとマークしています、私はちょうど私が欲しかった正確な結果を得るために小さな変更を加える必要がありました。ファイナルフィドル:https://jsfiddle.net/m5xcq3zf/2/ – gkrizek

+0

最後のメモ。 'margin-left:300;'の変更によってすべてのコンテンツを正確に同じままにして再フォーマットしないようにするには、 '#site-wrap {width:100%; } 'CSSの初期段階ではサイズ変更されません。 – gkrizek