Что такое CSS-свойство display и какие его варианты существуют?
Что проверяют
Понимаете ли вы, что display задаёт не внешний вид, а тип бокса: какую роль элемент играет в потоке снаружи и какой контекст форматирования создаёт внутри. Поверхностный перечень (блочный, строчный, none) сразу отделяется от осмысленного ответа.
Как отвечать
У значения две составляющие: внешняя роль и внутренний контекст. Современный синтаксис записывает их парой, а привычные ключевые слова это сокращения. Что перечислить:
block: занимает всю доступную ширину, ширина, высота и все отступы работают;inline: живёт внутри строки, ширина и высота не применяются, вертикальные поля строки не раздвигают;inline-block: снаружи строчный, внутри блочный, размеры задаются;flexиgrid: контейнер соответствующего контекста, дети становятся его элементами;inline-flexиinline-grid: то же самое, но сам контейнер стоит в строке;flow-root: создаёт новый контекст блочного форматирования, обёртывает флоаты и отсекает схлопывание полей;none: элемент и потомки не отрисовываются и пропадают из дерева доступности;contents: бокс самого элемента исчезает, дети поднимаются к родителю;list-item,tableи родственные значения для табличной раскладки.
Где спотыкаются
Прячут через display: none то, что должно остаться доступным. Содержимое пропадает и для скринридера, и для поиска по странице, и обычным переходом такое скрытие не анимируется. Для «слышно, но не видно» есть приём с визуальным скрытием, а для «место занимает, но не видно» есть visibility: hidden.
Пытаются задать строчному элементу высоту и вертикальные отступы, а потом не понимают, почему фон наезжает на соседнюю строку. Нужна смена роли на inline-block или на блочную.
Забывают, что другие свойства перебивают объявленное значение: float и абсолютное позиционирование приводят элемент к блочному типу, дети flex- и grid-контейнера тоже блокируются. Отсюда классическое «поставил inline, а ведёт себя как блок». Рядом стоит ловушка с display: contents у интерактивных элементов: вместе с боксом теряется и их семантика.