diff options
author | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-02 02:03:11 +0900 |
---|---|---|
committer | Masahiro FUJIMOTO <mfujimot@gmail.com> | 2021-12-09 23:31:53 +0900 |
commit | d1fa9e8afa695d043c5bec2bff99354cdfcf71e9 (patch) | |
tree | c7433d39823f51ea617d11bd78af528ac43bfb07 /files/ja/web/css/grid-auto-flow | |
parent | 2e150956b4988d350bcd0a9037291b44e42f77e2 (diff) | |
download | translated-content-d1fa9e8afa695d043c5bec2bff99354cdfcf71e9.tar.gz translated-content-d1fa9e8afa695d043c5bec2bff99354cdfcf71e9.tar.bz2 translated-content-d1fa9e8afa695d043c5bec2bff99354cdfcf71e9.zip |
2021/11/30 時点の英語版に同期
Diffstat (limited to 'files/ja/web/css/grid-auto-flow')
-rw-r--r-- | files/ja/web/css/grid-auto-flow/index.md | 153 |
1 files changed, 153 insertions, 0 deletions
diff --git a/files/ja/web/css/grid-auto-flow/index.md b/files/ja/web/css/grid-auto-flow/index.md new file mode 100644 index 0000000000..ee076184a5 --- /dev/null +++ b/files/ja/web/css/grid-auto-flow/index.md @@ -0,0 +1,153 @@ +--- +title: grid-auto-flow +slug: Web/CSS/grid-auto-flow +tags: + - CSS + - CSS グリッド + - CSS プロパティ + - リファレンス + - recipe:css-property +browser-compat: css.properties.grid-auto-flow +--- +{{CSSRef}} + +The **`grid-auto-flow`** CSS property controls how the auto-placement algorithm works, specifying exactly how auto-placed items get flowed into the grid. + +{{EmbedInteractiveExample("pages/css/grid-auto-flow.html")}} + +## 構文 + +```css +/* キーワード値 */ +grid-auto-flow: row; +grid-auto-flow: column; +grid-auto-flow: dense; +grid-auto-flow: row dense; +grid-auto-flow: column dense; + +/* グローバル値 */ +grid-auto-flow: inherit; +grid-auto-flow: initial; +grid-auto-flow: revert; +grid-auto-flow: unset; +``` + +This property may take one of two forms: + +- a single keyword: one of `row`, `column`, or `dense`. +- two keywords: `row dense` or `column dense`. + +### 値 + +- `row` + - : Items are placed by filling each row in turn, adding new rows as necessary. If neither `row` nor `column` is provided, `row` is assumed. +- `column` + - : Items are placed by filling each column in turn, adding new columns as necessary. +- `dense` + + - : "dense" packing algorithm attempts to fill in holes earlier in the grid, if smaller items come up later. This may cause items to appear out-of-order, when doing so would fill in holes left by larger items. + + If it is omitted, a "sparse" algorithm is used, where the placement algorithm only ever moves "forward" in the grid when placing items, never backtracking to fill holes. This ensures that all of the auto-placed items appear "in order", even if this leaves holes that could have been filled by later items. + +## Formal definition + +{{cssinfo}} + +## Formal syntax + +{{csssyntax}} + +## Examples + +### Setting grid auto-placement + +#### HTML + +```html +<div id="grid"> + <div id="item1"></div> + <div id="item2"></div> + <div id="item3"></div> + <div id="item4"></div> + <div id="item5"></div> +</div> +<select id="direction"> + <option value="column">column</option> + <option value="row">row</option> +</select> +<input id="dense" type="checkbox"> +<label for="dense">dense</label> +``` + +#### CSS + +```css +#grid { + height: 200px; + width: 200px; + display: grid; + gap: 10px; + grid-template: repeat(4, 1fr) / repeat(2, 1fr); + grid-auto-flow: column; /* or 'row', 'row dense', 'column dense' */ +} + +#item1 { + background-color: lime; + grid-row-start: 3; +} + +#item2 { + background-color: yellow; +} + +#item3 { + background-color: blue; +} + +#item4 { + grid-column-start: 2; + background-color: red; +} + +#item5 { + background-color: aqua; +} +``` + +```js hidden +function changeGridAutoFlow() { + var grid = document.getElementById("grid"); + var direction = document.getElementById("direction"); + var dense = document.getElementById("dense"); + var gridAutoFlow = direction.value === "row" ? "row" : "column"; + + if (dense.checked) { + gridAutoFlow += " dense"; + } + + grid.style.gridAutoFlow = gridAutoFlow; +} + +const selectElem = document.querySelector('select'); +const inputElem = document.querySelector('input'); +selectElem.addEventListener('change', changeGridAutoFlow); +inputElem.addEventListener('change', changeGridAutoFlow); +``` + +#### Result + +{{EmbedLiveSample("Setting_grid_auto-placement", "200px", "230px")}} + +## Specifications + +{{Specifications}} + +## Browser compatibility + +{{Compat}} + +## See also + +- Related CSS properties: {{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid")}} +- Grid Layout Guide: _[Auto-placement in grid layout](/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout)_ +- Video tutorial: _[Introducing Grid auto-placement and order](http://gridbyexample.com/video/series-auto-placement-order/)_ |