Перейти к содержимому

CSS свойство place-items

Свойство CSS place-items является сокращением для следующих свойств:

Эти свойства в основном используются в макетах Grid и для абсолютно позиционированных элементов. Обратите внимание, что place-items игнорируется в макетах Flexbox и не влияет на стандартные блочные элементы или ячейки таблиц.

INFO

Свойство place-items ведет себя по-разному в зависимости от контекста использования.

Подробнее о поведении свойства place-items в различных контекстах читайте ниже.

Начальное значениеnormal legacy
Применяется кКо всем элементам.
НаследуетсяНет.
АнимацияНет.
ВерсияCSS3
Синтаксис DOMobject.style.placeItems = "normal";

Синтаксис

Синтаксис CSS place-items

css
place-items: <align-items> [ / <justify-items> ]?;
/* Expanded values */
place-items: auto | normal | start | end | flex-start | flex-end | self-start | self-end | center | left | right | baseline | first baseline | last baseline | stretch | initial | inherit;

Примечание: При использовании одного значения оно применяется к обеим осям. При использовании двух значений, разделенных косой чертой (/), первое значение устанавливает align-items, а второе — justify-items.

Пример свойства place-items:

Пример кода CSS place-items

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #container {
        height: 150px;
        width: 150px;
        place-items: flex-end;
        background-color: #ccc;
        display: grid;
      }
      .grid {
        display: grid;
      }
      div > div {
        box-sizing: border-box;
        border: 1px solid #666;
        width: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      #box1 {
        background-color: #1c87c9;
        min-height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Place-items property example</h2>
    <h3>place-items: flex-end</h3>
    <div id="container" class="grid">
      <div id="box1">1</div>
    </div>
  </body>
</html>

Результат

SS place-items another

Пример свойства place-items со значением "center":

Другой пример кода CSS place-items

html
<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document </title>
    <style>
      #container {
        height: 200px;
        width: 230px;
        place-items: center;
        background-color: #ccc;
        display: grid;
      }
      .grid {
        display: grid;
      }
      div > div {
        box-sizing: border-box;
        border: 3px solid #ccc;
        width: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
      }
      #box1 {
        background-color: #666;
        min-height: 40px;
      }
      #box2 {
        background-color: #1c87c9;
        min-height: 50px;
      }
      #box3 {
        background-color: #fff;
        min-height: 40px;
      }
      #box4 {
        background-color: #ff0000;
        min-height: 60px;
      }
      #box5 {
        background-color: #eee;
        min-height: 70px;
      }
      #box6 {
        background-color: #8ebf42;
        min-height: 50px;
      }
    </style>
  </head>
  <body>
    <h2>Place-items property example</h2>
    <div id="container" class="grid">
      <div id="box1">1</div>
      <div id="box2">2</div>
      <div id="box3">3</div>
      <div id="box4">4</div>
      <div id="box5">5</div>
      <div id="box6">6</div>
    </div>
  </body>
</html>

Значения

ЗначениеОписание
autoЕсли у элемента нет родителя или он абсолютно позиционирован, значение "auto" ведет себя как "normal".
normalЭффект этого значения зависит от режима макета: - В блочных макетах значение "normal" ведет себя как "start". - В макетах с абсолютным позиционированием это значение ведет себя как "start" для замененных абсолютно позиционированных элементов и как stretch для всех остальных абсолютно позиционированных элементов. - В макетах ячеек таблицы это свойство игнорируется. - В макетах flexbox это свойство игнорируется. - В макетах grid это значение ведет себя как "stretch", за исключением элементов с соотношением сторон или внутренними размерами, где оно ведет себя как "start".
startВсе элементы позиционируются друг относительно друга по начальному (левому) краю контейнера.
endВсе элементы позиционируются друг относительно друга по конечному (правому) краю контейнера.
flex-startЭлементы размещаются в начале контейнера.
flex-endЭлементы размещаются в конце контейнера.
self-startЭлемент может размещаться на краю контейнера, ориентируясь на свою собственную начальную сторону.
self-endЭлемент может размещаться на краю контейнера, ориентируясь на свою собственную конечную сторону.
centerЭлементы позиционируются рядом друг с другом к центру контейнера.
leftЭлементы размещаются рядом друг с другом к левой стороне контейнера. Если ось свойства не параллельна строчной оси, это значение ведет себя как "end".
rightЭлементы размещаются рядом друг с другом к правой стороне контейнера. Если ось свойства не параллельна строчной оси, это значение ведет себя как "start".
baselineВыравнивает все элементы внутри группы по их базовым линиям.
first baselineВыравнивает первую базовую линию элемента с первой базовой линией строки.
last baselineВыравнивает последнюю базовую линию элемента с последней базовой линией строки.
stretchРастягивает элемент по вертикали и горизонтали до краев контейнера, чтобы заполнить его.
initialЗаставляет свойство использовать значение по умолчанию.
inheritНаследует свойство от родительского элемента.

Практика

Что делает свойство 'place-items' в CSS?

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.