У меня есть стилизованная кнопка и стилизованная ссылка (в соответствии со стилем кнопки). Я тестирую его в Chrome 13, Firefox 6 и IE 9. Кнопка и ссылка выглядят одинаково во всех трех браузерах, за исключением того, что в Firefox высота ссылки короче. http://jsfiddle.net/AWcYG/
Я не могу применить высоту к ссылке, потому что это не элемент уровня блока. Если я сделаю это элементом уровня блока, мне придется плавать оба, чтобы выровнять их рядом друг с другом. Кроме того, высота отключается во всех трех браузерах. Я думал об абсолютном позиционировании, но тогда я не вижу способа разместить их рядом друг с другом, если я не укажу их местоположение.
Помимо использования условных операторов, есть ли способ сделать так, чтобы высота кнопки и ссылки соответствовала во всех трех браузерах? Может быть, хак, о котором я не знаю, или, может быть, я что-то упустил?
UPDATE:
@ Уэсли, спасибо, что указал мне в этом направлении. Я обнаружил, что Firefox добавляет к своим кнопкам следующее, что объясняет, почему ваш код делает то, что делает:
button::-moz-focus-inner,
input[type="reset"]::-moz-focus-inner,
input[type="button"]::-moz-focus-inner,
input[type="submit"]::-moz-focus-inner,
input[type="file"] > input[type="button"]::-moz-focus-inner {
padding: 0px 2px 0px 2px;
border: 1px dotted transparent;
}
Результат очень близок к идеальному, но в Firefox 6 он все еще на 1px. Я, вероятно, исследую это немного больше и выложу еще одно обновление, если найду исправление, но даже при отключенном 1px, оно все еще намного лучше, чем раньше!
ОБНОВЛЕНИЕ 2:
Исправление, которое я нашел, было указанием высоты на кнопке:
.db .menu input,
.db .menu a {
background-color: #01137F;
border: 1px solid #fff;
border-radius: 5px;
box-shadow: 2px 2px 3px #666;
color: #fff;
cursor: pointer;
font-family: Arial, sans-serif;
font-size: 14px;
height: 26px;
padding: 4px 10px;
}
Добавление высоты делает кнопку абсолютно одинаковой с пикселем во всех трех браузерах, о которых я говорил.