Во-первых, задавать body и html какие-то конкретные значения - это создавать геморрой самому себе. Всё, что можно с ними сделать - это ресетнуть, а лучше всего подключить normalize.css и забыть про эти элементы в css вообще. Иначе потом вы откроете для себя плавающие элементы в зависимости от высоты строки, установленной в body и другие прелести наследования.
Во-вторых, используй везде пиксели и не парься. Вся эта движуха с относительными величинами - бред собачий. Почитать об этом можно
много где, например, тут