Может быть, вы рассмотрите возможность использования переменных CSS?С их помощью вы можете определить только значение смещения в классе и использовать это значение в основном классе, который вычисляет фактический перевод.В приведенном ниже примере вы можете видеть, что я определил небольшие служебные классы, просто изменив значение смещения.
/* for visual purposes */
.box {
width: 50px;
height: 50px;
background-color: grey;
margin: 10px;
}
.box{
--offset: 0px;
transform: translateX(calc(15px + var(--offset))) translateY(2px) translateZ(0px);
}
.smallOffset{
--offset: 10px;
}
.bigOffset{
--offset: 40px;
}
.negativeOffset{
--offset: -20px;
}
<div class="box"></div>
<div class="box smallOffset"></div>
<div class="box bigOffset"></div>
<div class="box negativeOffset"></div>
К сожалению, поддержка переменных css не идеальна , поскольку IE вообще не поддерживается.Для получения более подробной информации об использовании --variable
, var(--variable)
и связанных с ними, пожалуйста, обратитесь к документам .