2017-08-10 18 views
-1

私はそこになりますどのように多くの列を知らないので、私のCSSグリッド項目はモバイルの「全幅」を行く作るトラブルを抱えています:グリッドCSS全幅列

https://codepen.io/matthewfelgate/pen/Kvqdmp?editors=1100

* { outline: 1px dashed red; } 
 
.box { 
 
    display: grid; 
 
    &__heading, &__text { padding: 1em; } 
 
    @media (max-width: 800px) { 
 

 
    } 
 
    @media (min-width: 801px) { 
 
    &__heading { 
 
     grid-row: 1; 
 
    } 
 
    &__text { 
 
     grid-column-start: 1; 
 
     grid-column-end: -1; 
 
    }  
 
    } 
 
    
 
}
<div class="box"> 
 

 
    <div class="box__heading">Heading 1</div> 
 
    <div class="box__text">Text 1</div> 
 

 
    <div class="box__heading">Heading 2</div> 
 
    <div class="box__text">Text 2</div> 
 

 
    <div class="box__heading">Heading 3</div> 
 
    <div class="box__text">Text 3</div> 
 

 
    <div class="box__heading">Heading 4</div> 
 
    <div class="box__text">Text 4</div> 
 

 
</div>

grid-column-end: -1;は動作していませんか?

編集:Donが正しく、間違った方法でメディアクエリを取得しました。私はモバイル上のデスクトップとアコーディオンでタブをしようとしています。

+1

'グリッド列エンドを:-1'のみ*明示的に*グリッド上で動作します。つまり、列数が定義されています。暗黙の*グリッド(コンテナが自動的に列を追加する)で作業しているので、負の整数メソッドは無効です([source](https://stackoverflow.com/a/44053668/3597276))。 –

+0

これにはまだ良い答えはないようです。 [**類似の質問**](https://stackoverflow.com/q/44052336/3597276)には、膨大な数の列にまたがるように列を設定することを示唆している回答があります。私の見解では、これはひどい解決策です。実際にはすべてのトラックをレンダリングするため、一部のブラウザでは動作しない可能性があります。しかし、アップアップに基づいて、一部の人々はそれが有用であることを発見しました。 –

+1

この例は、ページが小さくなるにつれて* more *コンテンツを水平方向に追加しているので、かなり混乱します。例は後方にありますか?私はあなたが達成しようとしていることを非常に混乱させています。 – Don

答えて

1

フレックスは必要に応じて使えますか?

.box { 
    display: flex; 
    flex-direction: column; 
    &__heading, &__text { padding: 1em; } 
} 
関連する問題