Необходимо получить структуру плиток как на изображении, используя библиотеку masonry.
Так же необходимо чтобы порядок плиток не нарушался.
Проблема в том, что не получается сделать такую структуру, как на изображении. Если я указываю размеры плиток 30% 40% 30%, они перестраиваются в неверном порядке. Но если указать 25% 50% 25%, то плитки становятся нужным образом.
css
* { box-sizing: border-box; }
body { font-family: sans-serif; }
/* ---- grid ---- */
.grid {
margin: 0 !important;
background: #EEE;
}
/* clearfix */
.grid:after {
content: '';
display: block;
clear: both;
}
/* ---- grid-item ---- */
.grid-sizer,
.grid-item {
width: 30%;
}
.grid-item {
height: 120px;
float: left;
background: #D26;
border: 2px solid #333;
border-color: hsla(0, 0%, 0%, 0.5);
border-radius: 5px;
}
.grid-item--width2 {
width: 40%;
height: 240px;
}
html
<div class="grid">
<div class="grid-sizer"></div>
<div class="grid-item"></div>
<div class="grid-item grid-item--width2"></div>
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item grid-item--width2"></div>
<div class="grid-item"></div>
<div class="grid-item"></div>
<div class="grid-item grid-item--width2"></div>
<div class="grid-item"></div>
</div>
js
$('.grid').masonry({
itemSelector: '.grid-item',
columnWidth: '.grid-sizer',
gutter: 0, //Отключить отступы
percentPosition: true, //Позиционирование в процентах
horizontalOrder: true // горизонтальный порядок плиток (по порядку)
});
На скорую руку. А почему бы не так?
* { box-sizing: border-box; }
body { font-family: sans-serif; }
/* ---- grid ---- */
.grid {
margin: 0 !important;
background: #EEE;
}
/* clearfix */
.grid:after {
content: '';
display: block;
clear: both;
}
/* ---- grid-item ---- */
.grid-sizer{
}
.grid-item {
float:left;
width: 30%;
height: 120px;
background: #D26;
border: 2px solid #333;
border-color: hsla(0, 0%, 0%, 0.5);
border-radius: 5px;
}
.grid-item--width2 {
float: left;
width: 40%;
float: center;
height: 240px;
background: #D26;
border: 2px solid #333;
border-color: hsla(0, 0%, 0%, 0.5);
border-radius: 5px;
}
.item{
height: 33%;
}
<div class="grid">
<div class="grid-item">
<div class="item">1.1</div>
<div class="item">1.2</div>
<div class="item">1.3</div>
</div>
<div class="grid-item--width2">
<div class="item">21</div>
<div class="item">22</div>
<div class="item">23</div>
</div>
<div class="grid-item">
<div class="item">31</div>
<div class="item">32</div>
<div class="item">33</div>
</div>
</div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Имеется простой пример работы функции логирования: