Задавая вопрос, я возился со следующим CodePen и, похоже, нашел решение.
<div class="grid grid-cols-3 gap-3 bg-gray-300">
<div class="bg-green-500 text-white text-6xl flex items-center justify-center border-8 border-black col-span-1">1</div>
<div class="bg-indigo-500 text-white text-6xl flex items-center justify-center border-8 border-black">2</div>
<div class="bg-red-500 text-white text-6xl flex items-center justify-center border-8 border-black">3</div>
<div class="bg-yellow-500 text-white text-6xl flex items-center justify-center border-8 border-black">4</div>
</div>
В приведенном выше HTML предполагается, что у вас связан Tailwind CSS. Он показывает следующий вывод -
Обратите внимание, col-span-1
in 1
. col-span-1
относится к span 1 / span 1
.
Теперь давайте изменим код на следующий:
<div class="grid grid-cols-3 gap-3 bg-gray-300">
<div class="bg-green-500 text-white text-6xl flex items-center justify-center border-8 border-black col-span-2">1</div>
<div class="bg-indigo-500 text-white text-6xl flex items-center justify-center border-8 border-black">2</div>
<div class="bg-red-500 text-white text-6xl flex items-center justify-center border-8 border-black">3</div>
<div class="bg-yellow-500 text-white text-6xl flex items-center justify-center border-8 border-black">4</div>
</div>
1
содержит col-span-2
, что составляет span 2 / span 2
. Он также покрывает пространство 2
.
Вывод выглядит следующим образом:
Если поставить col-span-4
в 1
, это не сработает, так как мы определили Grid для столбца 3 в родительском div
с grid-cols-3
. Кроме этого, span
охватывает пространство, откуда он начинается.