Как правильно сделать отступы у блоков?
Создаете контейнер:.container{
    margin-left:-15px;
    margin-right:-15px;
}
Оборачиваете каждый блок, например: .block {
 padding:15px;
}
Только не забываем про:* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
:after,:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
Чтоб было проще понять, почитайте о Bootstrap.
либо flex либо li с float:left; display:inline-block; width:40%; margin:5%;
Но лучше использовать готовый grid типа: getbootstrap.com/css/#grid-options