Используемый шрифт имеет символы разной ширины, то есть символы + и - имеют разную ширину. Поэтому, когда они переключаются, это влияет на общую ширину блока. Вы можете решить это, используя моноширинный шрифт, такой как Monospace, Courier, Courier New или Lucida Console.
Другое решение - установить фиксированный width
для блока.
Во-первых, <span>
должен быть блочным элементом. Вы добавляете к этому display: inline-block
. Тогда отступ будет считаться в пределах общей ширины по умолчанию, поэтому у вас есть отступы 25px для левого и правого каналов. Ваш блок составляет около 72px (когда +), тогда вы можете добавить width: 22px
(50px + 22px = 72px фиксированной ширины).
.plusminus {
vertical-align: middle;
background-color: #139c4b;
color: #fff;
margin-left: 13px;
padding: 15px 25px;
font-size: 36px;
-webkit-font-smoothing: subpixel-antialiased;
display: inline-block; /* add this */
width: 22px; /* add this */
}
Немного изменится высота гармошки, но ничего большого.