--- title: grid-auto-flow slug: Web/CSS/grid-auto-flow translation_of: Web/CSS/grid-auto-flow --- <p>CSS-свойство управляет поведением автоматически размещаемых элементов, точно указывая, как они попадают в сетку.</p> <div>{{EmbedInteractiveExample("pages/css/grid-auto-flow.html")}}</div> <h2 id="Синтаксис">Синтаксис</h2> <pre class="brush: css no-line-numbers">/* Ключевые свойства и значения */ 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: unset; </pre> <p>Свойство можно использовать в двух вариантах:</p> <ul> <li>с одним ключевым значением: <code>row</code>, <code>column</code>, или <code>dense</code>.</li> <li>с двумя значениями: <code>row dense</code> или <code>column dense</code>.</li> </ul> <h3 id="Значения">Значения</h3> <dl> <dt><code>row</code></dt> <dd>Ключевое слово, указывающее размещать элементы, заполняя поочерёдно каждую строку и добавляя новые строки по мере необходимости. Это значение используется по умолчанию.</dd> <dt><code>column</code></dt> <dd>Ключевое слово, указывающее размещать элементы, заполняя поочерёдно каждый столбец и добавляя новые столбцы по мере необходимости.</dd> <dt><code>dense</code></dt> <dd>Ключевое слово, указывающее заполнять элементами свободное пространство сетки. Это может привести к нарушению порядка, т.к. элементы будут выстраиваться не в соответствии со своим расположением, а в соответствии с размером.</dd> <dd><br> Если свойство не используется, алгоритм разместит элементы строго по порядку, вне зависимости от наличия свободных ячеек.</dd> </dl> <h3 id="Formal_syntax">Formal syntax</h3> {{csssyntax}} <h2 id="Пример">Пример</h2> <h3 id="HTML_Content">HTML Content</h3> <pre class="brush: 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" onchange="changeGridAutoFlow()"> <option value="column">column</option> <option value="row">row</option> </select> <input id="dense" type="checkbox" onchange="changeGridAutoFlow()"> <label for="dense">dense</label> </pre> <h3 id="CSS_Content">CSS Content</h3> <pre class="brush: css; highlight[7]">#grid { height: 200px; width: 200px; display: grid; 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; }</pre> <pre class="brush: 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; }</pre> <p>{{EmbedLiveSample("Пример", "200px", "230px")}}</p> <h2 id="Спецификация">Спецификация</h2> {{Specifications}} <p>{{cssinfo}}</p> <h2 id="Браузерная_совместимость">Браузерная совместимость</h2> <p>{{Compat}}</p> <h2 id="Смотрите_также">Смотрите также</h2> <ul> <li>Related CSS properties: {{cssxref("grid-auto-rows")}}, {{cssxref("grid-auto-columns")}}, {{cssxref("grid")}}</li> <li>Grid Layout Guide: <em><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout">Auto-placement in grid layout</a></em></li> <li>Video tutorial: <em><a href="http://gridbyexample.com/video/series-auto-placement-order/">Introducing Grid auto-placement and order</a></em></li> </ul> <section id="Quick_links"> <ol> <li><a href="/en-US/docs/Web/CSS"><strong>CSS</strong></a></li> <li><a href="/en-US/docs/Web/CSS/Reference"><strong>CSS Reference</strong></a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout">CSS Grid Layout</a></li> <li data-default-state="open"><a href="#"><strong>Guides</strong></a> <ol> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Basic_Concepts_of_Grid_Layout">Basics concepts of grid layout</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Relationship_of_Grid_Layout">Relationship to other layout methods</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Line-based_Placement_with_CSS_Grid">Line-based placement</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Grid_Template_Areas">Grid template areas</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Layout_using_Named_Grid_Lines">Layout using named grid lines</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Auto-placement_in_CSS_Grid_Layout">Auto-placement in grid layout</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Box_Alignment_in_CSS_Grid_Layout">Box alignment in grid layout</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid,_Logical_Values_and_Writing_Modes">Grids, logical values and writing modes</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_Layout_and_Accessibility">CSS Grid Layout and Accessibility</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/CSS_Grid_and_Progressive_Enhancement">CSS Grid Layout and Progressive Enhancement</a></li> <li><a href="/en-US/docs/Web/CSS/CSS_Grid_Layout/Realizing_common_layouts_using_CSS_Grid_Layout">Realizing common layouts using grids</a></li> </ol> </li> <li data-default-state="open"><a href="#"><strong>Properties</strong></a> <ol> <li><a href="/en-US/docs/Web/CSS/grid">grid</a></li> <li><a href="/en-US/docs/Web/CSS/grid-area">grid-area</a></li> <li><a href="/en-US/docs/Web/CSS/grid-auto-columns">grid-auto-columns</a></li> <li><a href="/en-US/docs/Web/CSS/grid-auto-flow">grid-auto-flow</a></li> <li><a href="/en-US/docs/Web/CSS/grid-auto-rows">grid-auto-rows</a></li> <li><a href="/en-US/docs/Web/CSS/grid-column">grid-column</a></li> <li><a href="/en-US/docs/Web/CSS/grid-column-end">grid-column-end</a></li> <li><a href="/en-US/docs/Web/CSS/grid-column-gap">grid-column-gap</a></li> <li><a href="/en-US/docs/Web/CSS/grid-column-start">grid-column-start</a></li> <li><a href="/en-US/docs/Web/CSS/grid-gap">grid-gap</a></li> <li><a href="/en-US/docs/Web/CSS/grid-row">grid-row</a></li> <li><a href="/en-US/docs/Web/CSS/grid-row-end">grid-row-end</a></li> <li><a href="/en-US/docs/Web/CSS/grid-row-gap">grid-row-gap</a></li> <li><a href="/en-US/docs/Web/CSS/grid-row-start">grid-row-start</a></li> <li><a href="/en-US/docs/Web/CSS/grid-template">grid-template</a></li> <li><a href="/en-US/docs/Web/CSS/grid-template-areas">grid-template-areas</a></li> <li><a href="/en-US/docs/Web/CSS/grid-template-columns">grid-template-columns</a></li> <li><a href="/en-US/docs/Web/CSS/grid-template-rows">grid-template-rows</a></li> </ol> </li> <li data-default-state="open"><a href="#"><strong>Glossary</strong></a> <ol> <li><a href="/en-US/docs/Glossary/Grid_lines">Grid lines</a></li> <li><a href="/en-US/docs/Glossary/Grid_tracks">Grid tracks</a></li> <li><a href="/en-US/docs/Glossary/Grid_cell">Grid cell</a></li> <li><a href="/en-US/docs/Glossary/Grid_areas">Grid areas</a></li> <li><a href="/en-US/docs/Glossary/Gutters">Gutters</a></li> <li><a href="/en-US/docs/Glossary/Grid_rows">Grid row</a></li> <li><a href="/en-US/docs/Glossary/Grid_column">Grid column</a></li> </ol> </li> </ol> </section>