[CSS][DJplaylist] grid auto-fit, auto-fill
10182 ワード
gridを用いて反応型ページを作成する場合は,以下のコード方式で作成する.しかし
この問題を解決するために,
この場合、
例えば、上記の場合、2つのitemしかないと仮定する.
下図に示すように、
逆に、
私から見れば、幅の内側を中央に揃えたいなら、
(
transformを適用した親の子要素の位置:固定学習
화면을 축소할 때
、容器の幅もそれに伴って変わりますが、고정된 column의 갯수 때문에 grid의 item들이 범위를 벗어나게 되었다.
const container = props => css`
width: 60vw; // 반응형 너비
background: black;
`;
const grid = props => css`
display: grid;
grid-template-columns: repeat(3, minmax(250px,1fr));
gap: 1rem;
`
const box = props => css`
width: 250px;
height: 250px;
justify-self: center;
display: flex;
align-items: center;
justify-content: center;
&:nth-of-type(2n) {
background: red;
}
&:nth-of-type(2n + 1) {
background: orange;
}
`;
<div css={container}>
<div css={grid}>
<div css={box}>1</div>
<div css={box}>2</div>
<div css={box}>3</div>
<div css={box}>4</div>
</div>
</div>
media query
この問題を解決するために,
media query
を用いて範囲を超えたときに,列数を調整するように修正した.const grid = props => css`
/ * 생략 */
@media (max-width: 900px) {
grid-template-columns: repeat(2, minmax(250px, 1fr));
}
`
しかし、グーグル検索の過程で、一つ一つ変えるより良い方法はありませんか?auto-fill, auto-fit
auto-fill
およびauto-fit
は행 또는 열의 item 개수가 명확하지 않을 때 유용하게 쓸 수 있는 방식
である.この場合、
auto-fill
を使用して、メッシュサイズに合わせて行または列の数を自動的に調整することができる.const grid = props => css`
display: grid;
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
gap: 1rem;
Autofill、auto-fitの違い
例えば、上記の場合、2つのitemしかないと仮定する.
下図に示すように、
auto-fit
を使用すると、メッシュは残りの空白を埋め尽くします.逆に、
auto-fill
を使用すれば、次の項目に入る余地を提供することができる.grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
私から見れば、幅の内側を中央に揃えたいなら、
auto-fit
方式を使ったほうがいいです.左に傾けたいなら、auto-fill
方式を使ったほうがいいです.(
auto-fit
方式を使用する場合は、itemを中央に配置するには、itemにvalidation-self:center;align-self:center;適用結果
transformを適用した親の子要素の位置:固定学習
Reference
この問題について([CSS][DJplaylist] grid auto-fit, auto-fill), 我々は、より多くの情報をここで見つけました https://velog.io/@jiseong/CSS-grid-auto-fit-auto-fillテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol