2017-01-26 4 views
-2

では動作しません見てみてください。3行、100%の高さフレキシボックスのレイアウトアンドロイド

https://jsfiddle.net/sgtooLnb/1/

ので、基本的にフレキシボックスの列レイアウトと、このようなHTML構造(私はいくつかのより多くのコードを追加する必要があります):

<header>The header content goes here.</header> 
<div class="content">The main content goes here.</div> 
<footer>The footer content goes here.</footer> 

アンドロイド(4.4.2)では、このようなレイアウトは動作していないようです。フッターは常に下部に貼り付けられ、オーバーフローするコンテンツはフッターの下になります。

悲しいことに、あなたはjsfiddleからこの動作を見ることはできませんが、以前は同じ問題を抱えていた人がいたかもしれません。

+0

bodyを「min-height」に変更してみてください – Pete

+0

完全なコードは何ですか(html、head、body ...タグ)? –

+0

まず最初に、前回と全く同じ別の質問を投稿してはいけません。私はあなたの前の質問に賛成してこれを閉じて、お望みなら答えを代わりに投稿することをお勧めします。私はまた、両方のAndroidの修正とIEの修正をカバーする他の答えを掲載しました。 – LGSon

答えて

1

[OK]を得るだろうと考えているスタイル

body > * { 
    display: flex; 
} 

を追加する場合は、より良いindagating thisthisで私は、問題は、Androidには影響に言及されていない場合でもthisであることが判明しましたブラウザの一覧。 0コンテンツへ::だから、私の解決策は、フレックス収縮を追加しました

body{ 
    display: flex; 
    flex-direction: column; 
    height: 100%; 
} 

.main-content{ 
    flex: 1 0 auto; // flex-shrink:0 > android 4.4.2 fix (and some other browsers too) 
} 

これは、ヘッダーとフッターするフレックスプロパティのいくつかの種類を割り当てるためにも良いことです。

.main-header, 
.main-footer{ 
    flex: none; // or flex something. 
} 

はまた、私はAutoprefixerを使っていることに注意してください。私は、そうでない場合は、BG色が消えていたことをアンドロイド442に気づきました。

.main-content{ 
    flex-grow: 1; 
    flex-shrink:0; 
    flex-basis:auto; 
} 

最後に、このスレッドをdownvoted 1に:あなたはjsfiddleに関連するコードを持っていたそうでなければ、あなたはメイン・コンテンツへのショートカット(IEたわごとフィックス)を使用しないでください。また、あなたが本当に主題を知っていれば、コードは必要ありませんでした。そして、あなたがその主題を知らなかったら、あなたは何かを落とすべきではありません。 もう一度downvoteしてください、この資料は誰にも役立ちません。これは主なスタックオーバーフローのターゲットですか?

+0

これはAndroid 4.4.2で動作しますか? https://jsfiddle.net/4c3gk4ax/2/ ...コンテンツがオーバーフローすると、固定フッターとしての両方? – LGSon

+0

このソリューションは、IE11とandroid 4.4.2で動作します。また、私はアンドレイド4.4.2を使用しています。私の多くの友達と同じように、現在の仕事がうまくいくと、すべての人が常に新しい電話を得るためにお金を使っているわけではありません。 – Stratboy

+0

提案されたソリューションの2つのバージョンがあります。どちらもAutoprefixerを使用しています。コンテンツはほとんどありません。http://codepen.io/anon/pen/qRVZxj、コンテンツの多いhttp:// codepenです。io/anon/pen/apVNYpこれらはどちらも、AndroidとIEの両方で動作する正しい解決策ですか? – LGSon

0

フレックス要素の子要素(body)もdisplay: flexである必要があります。あなたは私はあなたが希望する結果