Такий шаблон, як на малюнку, можна зробити тільки за допомогою display: grid.
І код неймовірно простий та елегантний:
// придумуємо псевдоніми для блоків .item1 { grid-area: header; } .item2 { grid-area: left; } .item3 { grid-area: main; } .item4 { grid-area: right; } .item5 { grid-area: footer; } // складаємо схему .grid-container { display: grid; grid-template-areas: 'header header header header right right' 'left main main main right right' 'left footer footer footer footer footer'; grid-gap: 10px; background-color: #2196F3; padding: 10px; }
Я трохи напіздів. Таку схему можна зробити за допомогою display: table. Але є нюанси)
table { width: 100%; background-color: #2196F3; border-collapse: collapse; } td{ text-align: center; padding: 20px 0; border: 10px solid #2196F3; font-size: 30px; background-color: rgba(255, 255, 255, 0.8); }
<table> <tr> <td colspan="3">Header</td> <td colspan="2" rowspan="2">Left</td> </tr> <tr> <td colspan="2" rowspan="2">Right</td> <td>Main</td> </tr> <tr> <td colspan="3">Footer</td> </tr> </table>
-- така схема не є адаптованою і потрібно правити html-розмітку.