Это не магия, это блочная модель. в данном случае margin схлопываются Antonio09, если вы в своем примере у .block напишите display:flex, то будет так как вы хотите.
Antonio09, какой не такой? В вашем первоначальном примере у блок нет боковых padding поэтому вы и не видите фон. Михаил любезно их добавил чтобы вы увидели что пример рабочий. Его пример не костыль, а демонстрация того как работает блочная модель. Это очень важный момент в верстке, вам стоит почитать про схлопывание margin, у кого и когда оно работает, а у кого и когда нет.
Александр Епихин, в том и дело
что нужно не padding: 1px 40px;
а так как Вы подправили - вместо padding: 1px 40px;. написать .block display:flex
это более смотритабельно