Есть
блок (
читай бэм сущность). У блока есть набор стилей общий для всех его подвидов и свой личный reset. Что в результате гарантирует его корректную работу, в любом окружении куда бы ты, или кто-то после тебя его засунул, с любым нормалайзом, ресетом или reboot-том (
последнее - bootstrap4, советую обратить внимание) либо без них. А также возможность комфортного переиспользования.
+ как бонус меньше css на выходе.
Пример (
схематический):
/* HTML types */
<a class='button' href='#'>Кнопа</a>
<button class='button' href='#'>Кнопа</button>
<input class='button' type="submit" value="Кнопа">
/* bem entity */
.button{
// reset
user-select: none;
display: inline-block;
text-decoration: none;
touch-action: manipulation;
// common
padding: 0.5em 1em;
border-radius: 2em;
text-align: center;
}