2017-08-22 18 views
2

私はグリッドレイアウトが新しく、それを使って自動折り返しのデザインを試みています。CSSグリッドの振る舞い

私のコードは以下の通りです:

#grid { 
 
    display: grid; 
 
    grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); 
 
    grid-template-rows: 200px 200px 200px 200px; 
 
    grid-gap: 10px; 
 
} 
 

 
#grid > div { 
 
    background-color: #ccddaa; 
 
    min-width: 310px; 
 
}
<div id="grid"> 
 
    <div>text</div> 
 
    <div>text</div> 
 
    <div>text</div> 
 
    <div>text</div> 
 
</div>

Codepen例:https://codepen.io/arielcessario/pen/GvdwLJ

私が気づいた事は、私は(ないDEVモードでクローム/オペラ・ウィンドウのサイズを変更するということです、モバイルエミュレーションではない)、結果は次のようになります。

enter image description here

ご覧のとおり、すべてが期待通りに積み上げられています。

しかし、私は、モバイルデバイスをエミュレートする、またはモバイルブラウザでそれをしようとしようとすると、これは私が得るものです:

enter image description here

これは、モバイルでのプロジェクトのスクリーンショットです:

enter image description here

幅にかかわらず積み重ねることはありません。

注:私は、モバイルビューで検査した場合、任意のボックスの幅が379pxよりも小さいことはありません

  • 、グリッドの全幅は768px未満になることはありません。
  • 私は仕事の種類がmax-withであるが、パーセンテージは使用しない。
  • Firefoxエミュレータでうまく動作しますが、Firefoxのモバイルブラウザではうまく動作しません。
  • Michael_Bが指摘したように、ペンはモバイルで問題なく動作しますが、問題は実際のプロジェクトであり、クロムでエミュレートすると問題になります。

私は何かが不足していると思いますが、私はそれを見つけることができません。前もって感謝します。

+0

私はCodepenで追加された一部のメディアクエリーがあると考えています。あなたはそれの外のレイアウトを試しましたか? – vals

+0

私はローカル環境で試しました。空のプロジェクト、ブートストラップなし、そのコードだけですが、毎回同じ結果になります。また、我々はいくつかの友人とこれを試して、彼らは同じ問題があった。ありがとう、よろしく! –

答えて

0

モバイルで問題を再現することはできません。目標は、小さい画面のための単一の列の場合

しかし、これを試してみてください。

は、あなたのグリッド項目(explanation)にmin-width: 0を追加します。

OR

メディアクエリを使用するには、次のようにコンテナを調整します

@media (max-width: 500px) { 
    #grid { 
     grid-template-columns: 1fr; 
    } 
} 
+0

ご返信ありがとうございます、私はあなたの携帯電話を試してみるように設定することがありますか?よろしく。 –

+0

私はmin-widthと同じ結果を試しました。メディアクエリはオプションですが、モバイルブラウザではその動作が間違っていると思います。両方のケースで同じように応答する必要があります。ありがとう、よろしく! –

+1

@KN_古いモバイルデバイスを使用していますか?ブラウザでCSSグリッドがサポートされていない可能性があります。 – wuppie367