Приоритет сетки: порядок или столбец сетки/строка сеткиCSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Приоритет сетки: порядок или столбец сетки/строка сетки

Сообщение Anonymous »

Вопрос
Если возникает конфликт, всегда ли столбец сетки и строка сетки имеют приоритет над порядком в сетке?

Документация
Сокращения размещения
Алгоритм размещения элемента сетки
Порядок отображения: свойство порядка

Контейнеры Flex и Grid размещают свое содержимое в измененном порядке документов, начиная с порядковая группа с наименьшим номером и идет вверх. Элементы с одинаковой порядковой группой располагаются в порядке их появления в исходном документе.


Алгоритм автоматического размещения работает с элементами сетки в измененном порядке документа, а не в исходном порядке документа.

Из спецификации кажется, что порядок сначала применяется, а затем запускается алгоритм размещения, чтобы применить все необходимые изменения.

Примеры
В В следующем фрагменте сетка с четырьмя столбцами и одной строкой упорядочивает элементы сетки в обратном порядке с помощью свойства order.

Код: Выделить всё

#grid-container
{
display: grid;
grid-template-columns: 100px 100px 100px 100px;
grid-template-rows: 100px;
}

.grid-item
{
color: white;
background-color: darkblue;
border: 1px solid white;
}

.grid-item:nth-child(1)
{
order: 4;
}

.grid-item:nth-child(2)
{
order: 3;
}

.grid-item:nth-child(3)
{
order: 2;
}

.grid-item:nth-child(4)
{
order: 1;
}

body
{
background-color: black;
}

Код: Выделить всё

1
2
3
4


В этом фрагменте конфликтуют столбец сетки и сетка Добавляются свойства -row, которые имеют приоритет над order.

Код: Выделить всё

#grid-container
{
display: grid;
grid-template-columns: 100px 100px 100px 100px;
grid-template-rows: 100px;
}

.grid-item
{
color: white;
background-color: darkblue;
border: 1px solid white;
grid-row: 1 / 2;
}

.grid-item:nth-child(1)
{
order: 4;
grid-column: 1 / 2;
}

.grid-item:nth-child(2)
{
order: 3;
grid-column: 2 / 3;
}

.grid-item:nth-child(3)
{
order: 2;
grid-column: 3 / 4;
}

.grid-item:nth-child(4)
{
order: 1;
grid-column: 4 / 5;
}

body
{
background-color: black;
}

Код: Выделить всё

1
2
3
4



Заключение
Основываясь на небольших тестах, подобных приведенным выше, и спецификации, я думаю, что ответ, вероятно, заключается в том, что свойства размещения всегда имеют приоритет над порядком, если возникает конфликт. Но было бы лучше иметь однозначный ответ или знать случаи, когда порядок может иметь приоритет.

Подробнее здесь: https://stackoverflow.com/questions/785 ... n-grid-row
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «CSS»