Всем привет,
Довольно новичок в веб-разработке, я пытаюсь научиться использовать красивый инструмент сетки css, но на самом деле я застрял с этим:
Я хочу, чтобы мои карты автоматически перемещались одна за другой в следующей строке (с тем же шаблоном столбца), но на самом деле я вижу только одну карту в своем браузере.
Я думал, проблема в моем росте .wrapper
в vh
. Я пробовал px
и %
, но я действительно застрял, чтобы найти решение.
Я был бы очень признателен, если бы у кого-то были идеи по поводу проблемы или какие-либо комментарии относительно моего (плохого... или хорошего?) способа кодирования!
/* Just some horrible stylization to better see boxes */
body {
padding: 0px;
margin: 0px;
}
div {
background-color: #f1c40f;
border: 1px solid white;
}
/* Definition of the 3 grids used*/
.wrapper {
height: 100vh;
box-sizing: border-box;
display: grid;
align-content: stretch;
justify-content: stretch;
grid-template-columns: 2fr 1fr 3fr 1fr 3fr 1fr 2fr;
grid-template-rows: 1fr 5fr 1fr;
grid-template-areas: "header header header header header header header"
"main main main main main main main"
"footer footer footer footer footer footer footer"
}
.main {
grid-area: main;
display: grid;
grid-template-columns: 60px 7fr 1fr;
grid-template-rows: 1fr;
grid-template-areas: "sidebar box-content box-content";
}
/* This box-content's grid-template-columns have many ones, it is done to modify
only the grid-template-areas with media-queries for larger screen*/
.box-content {
grid-area: box-content;
display: grid;
grid-template-columns: 1fr 2fr 1fr 2fr 1fr 2fr 1fr 2fr 1fr;
grid-template-rows: 1fr 7fr 1fr;
grid-auto-flow: row;
grid-template-areas: ". . . . . . . . ."
". card card card card card card card."
". . . . . . . . .";
}
/* Definition of the different element's grid-area*/
.header {
grid-area: header;
}
.sidebar {
grid-area: sidebar;
}
.card {
grid-area: card;
}
.footer {
grid-area: footer;
}
<!-- I apologize for non-semantic tags, only a quick prototyping -->
<div class="wrapper">
<div class="header"> Header Header Header Header Header</div>
<div class="main">
<div class="sidebar">Sidebar Sidebar </div>
<div class="box-content">
<div class="card"> Card Card Card Card Card Card </div>
<div class="card"> Card Card Card Card Card Card </div>
<div class="card"> Card Card Card Card Card Card </div>
<div class="card"> Card Card Card Card Card Card </div>
</div>
</div>
<div class="footer"> Footer Footer Footer Footer Footer </div>
</div>
Спасибо