Писать код под градусом?
Я сказал, как правильно по дефолту - проценты для величины должны быть относительно такой же величины контейнера. Ширина от ширины, длина от длины. С толщинам обводок и отступов так же - вертикальные границы и отступы - от высота контейнера, горизонтальные - от ширины. То, что зависит только от одного размера и выглядит по-разному - это плохо. Но сам факт, что они привязались к специфической точке отсчёта, сильно уменьшил гибкость и заставил плодить построения из костылей там, где можно было бы обойтись одной строкой.
Вроде, сейчас всякие запросы к контейнеру есть и фукнции для вычислений в стилях. Выглядит это всё жутко громоздко и неудобно для того, чтобы получить зачастую простой и логичный результат. Например, хочу толщину границы как 10% от полусуммы абсолютных значений длины и ширины контейнера. По-моему, сейчас это сделать нельзя. По крайней мере по-простому. У контейнера можно запросить лишь относительный размер (проценты от его длины и ширины).