Выравнивание блочного элемента с отступом справа в CSS

При необходимости можно задать и правый отступ и элемент не будет прижат вплотную к правой границе, а отступит от нее:

html<div class="parent">
  <div class="child"></div>
</div>
css.parent {
  padding: 10px 0;
  border: 1px solid red;
}
.child {
  margin-left: auto;
  margin-right: 20px; /* задаем правый отступ */
  height: 100px;
  width: 200px;
  border: 1px solid green;
}

Результат: