У меня была похожая проблема, и я исправил ее следующим образом, хотя я не совсем понимаю, почему float
необходим.Будем очень благодарны за любые комментарии по этому поводу.
Я использую padding
, чтобы сделать текст движущимся, добавив 1px top + left и вычитая 1px right + bottom.Но по какой-то причине, которую я не понимаю, это само по себе толкает сестринских боксов вниз на 1 пиксель.Мы не хотим, чтобы сами кнопки двигались.
HTML:
<p>
<span class="button">third</span>
<span class="button">fourth</span>
</p>
<p>
<input type="button" class="button button2" value="fifth" />
<input type="button" class="button button2" value="sixth" />
</p>
CSS:
.button {
outline: none;
background-color: blanchedalmond;
border: 1px solid maroon;
padding: 3px 10px 4px 10px;
box-sizing: border-box;
display: inline-block;
position: relative;
line-height: 20px;
margin: 0;
}
span.button {
display: inline-block;
text-indent: -9999px;
width: 20px;
height: 20px;
}
p {
background-color: magenta;
overflow: auto;
}
.button2 {
float: left;
margin-right: 4px;
}
.button:active {
background-color: red;
border: 1px solid brown;
padding: 4px 9px 3px 11px;
margin-top: 0px;
}
Скрипка , где «пятое» и «шестое» ведут себя так, как мы хотим, потому что мы добавили float
.