это норм варик если ты берешь чужой компонент и начинаешь его ситилизовать под себя, но опять же если тебе приходится делать это, значит компонент не дал апи для стилизации и ты опять же должен чувтсвовать что делаешь это на свой страх и риск
чтобы иметь изолированный компонент, нужно очень хорошо подумать, либо постоянно допиливать его едж кейсами
это не эйдж-кейсы, это просто кейсы твоего конкретного компонента. желание писать супер-универсальные компоненты всегда заканчивается их переусложнением и в тоже время не приводит к желаемому результату, потому что невозможно предугадать все
все равно практика показывает, что такие компоненты продолжают "расходится" в стороны, а поддержание унификации заставляет описывать все более хитрые комбинации, чтобы заставить их работать внутри одной изолированной частицы
это не эйдж-кейсы, это просто кейсы твоего конкретного компонента. желание писать супер-универсальные компоненты всегда заканчивается их переусложнением и в тоже время не приводит к желаемому результату, потому что невозможно предугадать все
Дык все верно: В данном примере внешняя геометрия и позиционирование блока button задана через элемент header__button. Блок button не специфицирует никакие отступы и может быть легко переиспользован в любом месте.