Фон:
Я экспериментирую с Grid CSS и пытаюсь получить этот макет, который в настоящее время реализован для масштабирования.
Проблема: на рабочем столе заголовок элемента должен иметь ширину 8 столбцов, и если я не добавлю строки сетки к element-header
и element
, то <div class="element">1</div>
заполнит следующий за element-header
. Теперь, если я добавлю grid-rows
, мой element
больше не будет переноситься.
Вопрос Как я могу исправить свою сетку, чтобы она соответствовала приведенному выше снимку экрана с "ожидаемым макетом"? т.е. .element
будет переноситься и начинаться со второй строки сетки
Код:
HTML:
<section class="section">
<div class="container">
<div class="samba-grid">
<div class="element-header"><h1>I am a lot of header text that only goes 8 columsn wide</h1></div>
<div class="element">1</div>
<div class="element">2</div>
<div class="element">3</div>
<div class="element">4</div>
</div>
</div>
</section>
CSS:
.section {
width: 100%;
display: block;
background: red;
box-sizing: border-box;
padding: 40px 24px;
@media screen and (min-width: 600px) and (max-width: 1139px) {
background: orange;
padding: 56px 48px;
}
@media screen and (min-width: 1140px) {
padding: 64px 48px;
background: green;
}
}
.container {
margin: 0 auto;
background: rgba(244,244,244, .25);
max-width: 599px;
@media screen and (min-width: 600px) and (max-width: 1139px) {
max-width: 1039px;
background: rgba(244,244,244, .25);
}
@media screen and (min-width: 1140px) {
max-width: 1032px;
background: rgba(244,244,244, .25);
}
}
.samba-grid {
display: grid;
background: inherit;
width: 100%;
grid-template-columns: repeat(4, 1fr);
grid-template-rows: 'auto auto';
grid-gap: 24px;
@media screen and (min-width: 600px) and (max-width: 1139px) {
grid-template-columns: repeat(6, 1fr);
grid-gap: 48px;
}
@media screen and (min-width: 1140px) {
grid-template-columns: repeat(12, 1fr);
grid-gap: 48px;
}
}
h1 {
font-size: 52px;
}
.element-header {
grid-row: 1;
grid-column: span 8; // SET THIS TO "span 12" TO SEE EXPECTED BEHAVIOR
}
.element {
display: grid; // important to do this.
background: rgba(0,0,0,.3);
grid-column: span 3;
grid-row: 2; // REMOVE THIS TO SEE EXPECTED BEHAVIOR
@media screen and (min-width: 600px) and (max-width: 1139px) {
grid-column: span 3;
}
@media screen and (min-width: 1140px) {
grid-column: span 4;
}
}
span 12
там, где вы проинструктировали, а также закомментировалgrid-row: 2
, но не могу воспроизвести проблему, которую вы описываете. Изображения переходят вниз, но не вверх рядом с заголовком. Можете ли вы создать вилку Pen и предоставить ссылку на вилку с точной проблемой? - person Andy Hoffman   schedule 14.03.2019span 8
- person Armeen Harwood   schedule 14.03.2019