У меня есть поля ввода и метки:
<label class="adm" for="UserName">User name</label>
<input class="adm" id="UserName" name="UserName" size="30" type="text" value="" />
и CSS:
body,html { font-family: Verdana,Arial,Helvetica,sans-serif; margin:0; padding:0; color: #111;}
label.adm { font-size:0.9em; margin:0 0 3px 3px; display: block;}
input.adm { font-size:0.9em; margin:0 0 3px 3px; }
Когда код открывается в Firefox, шрифты не совпадают. Firebug показывает, что оба «должны» наследоваться, и когда я смотрю на computed, он показывает, что метка использует Verdana. Однако входные данные показывают, что он использует "MS Shell Dlg".
Может ли кто-нибудь объяснить, что происходит и почему это не соответствует обычным правилам CSS?
Ответы:
Он не наследуется по умолчанию, но вы можете настроить его для наследования с помощью css
демонстрация: http://jsfiddle.net/gaby/pEedc/1/
источник
input
внутрьlabel
,label
тег не наследует CSS по умолчаниюЭлементы формы (вводы / текстовое поле / и т. Д.) Не наследуют информацию о шрифте. Вам нужно будет установить семейство шрифтов для этих элементов.
источник
Три года спустя, я нахожу это странным
<input>
элементы типовreset
,submit
иbutton
не наследуетсяfont-family
в Chrome или Safari. Я обнаружил, что они тоже не получат прокладки.Но когда я связывайтесь с определенными свойствами, как
background
,border
или это странноеappearance
имуществом, тогдаfont-family
иpadding
есть эффект, но родные внешний вид кнопки теряются, что это не проблема , если вы полностью рестайлинга кнопки.Если вам нужна нативная кнопка с унаследованным
font-family
, используйте<button>
элемент вместо<input>
.См. Codepen .
источник
У меня была такая же проблема. Что сработало для меня, так это добавление стиля непосредственно к элементу ввода в html. Я кодирую на React fyi.
<input style={{fontFamily: "YOUR_FONT_CHOICE_HERE"}} />
источник