@deleted-stiping

Как выровнять сетку с float?

Имеется некий код:
<div class="container">
<li class="block2"></li>
<ul class="posts first">
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
</ul>
<ul class="posts second">
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
<li class="block"></li>
</ul>
</div>


container{
	width:940px;
	margin: 0 auto;
	padding:40px;
	background:grey;
}
.container:after {
    content: "";
    display: table;
    clear: both;
}
.block{
	float:left;
	border:1px solid #ccc;
	width:216px;
	height:186px;
	margin: 0 0 20px 22px;
	list-style: none;
}
.block2{
	float:right;
	border:1px solid #fff;
	clear:both;
	width:217px;
	height:603px;
	list-style:none;
}
.posts{
	margin: 0;
	padding: 0;
}
.first .block:nth-child(3n+1){
	margin-left:0px;
	clear:left;
}
.second .block:nth-child(4n+1){
	margin-left:0px;
	clear:left;
}


При разрешении браузера в 100% все выглядит правильно, но если начать менять разрешение окна до 25% то вся сетка сьезжает, подскажите как можно исправить это, что бы сетка была такой же ровной как при разрешении в 100% Код на фидле: https://jsfiddle.net/92j5yr6c/1/
  • Вопрос задан
  • 403 просмотра
Пригласить эксперта
Ответы на вопрос 2
@GreatRash
1) li нельзя вкладывать в div
2) нужно заменить float: left; на display: inline-block; и задать маргин не слева, а с обеих сторон
Ответ написан
@vvvadimos
если ширину блоков пикселями задавать, при масштабировании все равно все ездить будет. нужны %. если блока 3 в ряд, то значение ширины 33.33333333333333% ставится, или меньше троек после запятой) inline-block использовать можно, как написал GreatRash, но не надежно. отступы между inline-block элементами в разных браузерах могут быть разными. если нужны какие-то отступы между элементами, советую в каждый ваш .block вложить еще по элементу, тогда управлять отступами проще. получится что .block всегда определенной ширины, а уже внутренний с отступами, т.е. не нужно сидеть и считать сколько должна быть ширина блока, если у него есть padding margin, чтобы ничего не ехало
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы