Я экспериментирую с css-собственностью flexbox для создания жидкостных сеток. Я заметил, что когда я использую space-between
, пробелы несовместимы. Они начинаются широко, а затем сужаются. Как я могу сделать желобы равными 1rem в flexbox?Как я могу управлять пространственными ячейками?
Я попытался использовать calc
, чтобы уменьшить с помощью 1rem. Это только остановило сточную канаву, чтобы она становилась уже, чем 1rem, но позволяет ей начинать шире, чем 1rem.
Любая другая техника, которую я могу попробовать?
Мой код:
body {
font-size: 16px;
}
.bg-blc-2 {
background-color: rgba(0, 0, 0, 0.2);
}
.txt-ctr {
text-align: center;
}
.cls-1,
.cls-2,
.cls-3,
.cls-4,
.cls-5,
.cls-6,
.cls-7,
.cls-8,
.cls-9,
.cls-10,
.cls-11,
.cls-12 {
display: flex;
flex-wrap: wrap;
flex-direction: row;
justify-content: space-between;
margin: 0 0 1rem 0;
}
.cls-1 > * {
flex: 1;
}
.cls-2 > * {
flex-basis: calc(50% - 1rem);
}
.cls-3 > * {
flex-basis: calc(33.33% - 1rem);
}
.cls-4 > * {
flex-basis: calc(25% - 1rem);
}
.cls-5 > * {
flex-basis: calc(20% - 1rem);
}
.cls-6 > * {
flex-basis: calc(16.6667% - 1rem);
}
.cls-7 > * {
flex-basis: calc(14.28% - 1rem);
}
.cls-8 > * {
flex-basis: calc(12.5% - 1rem);
}
.cls-9 > * {
flex-basis: calc(11.11% - 1rem);
}
.cls-10 > * {
flex-basis: calc(10% - 1rem);
}
.cls-11 > * {
flex-basis: calc(9.09% - 1rem);
}
.cls-12 > * {
flex-basis: calc(8.33% - 1rem);
}
<div class="cls-1">
<div class="bg-blc-2 txt-ctr">1</div>
</div>
<div class="cls-2">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
</div>
<div class="cls-3">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
</div>
<div class="cls-4">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
</div>
<div class="cls-5">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
</div>
<div class="cls-6">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
</div>
<div class="cls-7">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
</div>
<div class="cls-8">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
<div class="bg-blc-2 txt-ctr">8</div>
</div>
<div class="cls-9">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
<div class="bg-blc-2 txt-ctr">8</div>
<div class="bg-blc-2 txt-ctr">9</div>
</div>
<div class="cls-10">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
<div class="bg-blc-2 txt-ctr">8</div>
<div class="bg-blc-2 txt-ctr">9</div>
<div class="bg-blc-2 txt-ctr">10</div>
</div>
<div class="cls-11">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
<div class="bg-blc-2 txt-ctr">8</div>
<div class="bg-blc-2 txt-ctr">9</div>
<div class="bg-blc-2 txt-ctr">10</div>
<div class="bg-blc-2 txt-ctr">11</div>
</div>
<div class="cls-12">
<div class="bg-blc-2 txt-ctr">1</div>
<div class="bg-blc-2 txt-ctr">2</div>
<div class="bg-blc-2 txt-ctr">3</div>
<div class="bg-blc-2 txt-ctr">4</div>
<div class="bg-blc-2 txt-ctr">5</div>
<div class="bg-blc-2 txt-ctr">6</div>
<div class="bg-blc-2 txt-ctr">7</div>
<div class="bg-blc-2 txt-ctr">8</div>
<div class="bg-blc-2 txt-ctr">9</div>
<div class="bg-blc-2 txt-ctr">10</div>
<div class="bg-blc-2 txt-ctr">11</div>
<div class="bg-blc-2 txt-ctr">12</div>
</div>
Вот пример проблемы: http://jsfiddle.net/xz4rbrgc/
он выглядит как постоянный 16 пикселей между ящиками, если вам не нравится пространство слева и справа.cls *, я думаю, я тоже это исправлю. – zer00ne
http://i.imgur.com/68jIGZ1.png http://i.imgur.com/Ff4Siaj.png – zer00ne