Белая вещь - ваш фоновый градиент. Вы говорите элементу, чтобы он двигался только на 15px при наведении.
Вы также должны поместить переход на статический класс, а не на элемент hover psuedo.
.btn {
display: inline-block;
*display: inline;
padding: 4px 10px 4px;
margin-bottom: 0;
*margin-left: .3em;
..more styles
-webkit-transition: background-position 0.1s linear;
-moz-transition: background-position 0.1s linear;
-ms-transition: background-position 0.1s linear;
-o-transition: background-position 0.1s linear;
transition: background-position 0.1s linear;
}
.btn:hover {
color: #333333;
text-decoration: none;
background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
background-image: linear-gradient(top, #ffffff, #e6e6e6);
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
}
Это означает, что градиент «белый/серый» появляется при наведении указателя мыши. Не уверен, что вы хотели сделать с переходами.
Отъезд fiddle
Я использую класс CSS из Twitter начальной загрузки. Он хорошо работает с 3 размерами, предоставляемыми ими. Однако, когда я меняю размер кнопки, я получаю текущую проблему. Наверное, я могу изменить цвет bg кнопки, чтобы избавиться от белого. – Nyxynyx