Проблема, с которой я сталкиваюсь на своих веб-страницах, заключается в том, что в Firefox (и только в Firefox) параметры внутри тегов <select> не затрагиваются font-family: inherit. <option> должны наследовать семейство шрифтов, указанное <body>, от семейства шрифтов, указанного их родителем.

Вместо этого они используют шрифты, указанные в профиле пользователя Firefox. Таким образом, если в настройках Firefox для пользователя установлен тип шрифта по умолчанию «Serif», выпадающие списки выглядят отвратительно. Элемент select сам по себе правильно наследует шрифт страницы, а параметры в раскрывающемся списке — нет, как вы можете видеть здесь:

image

У них должен быть тот же шрифт, что и у первого варианта выбора.

Есть ли способ их сделать? Я попытался указать правило CSS, чтобы принудительно наследовать шрифт, но оно ничего не делает:

option {
    font-family: inherit;
}

Принудительный шрифт работает, но это не обязательно то, что мне нужно.

Есть ли способ сделать это без редактирования DOM или без использования JS, или это просто невозможно с Firefox?

5
Grumbunks 24 Мар 2020 в 17:46
Отключение -moz-appearance (или appearance для более новых версий) должно работать без принуждения.
 – 
Federico Moretti
24 Мар 2020 в 17:50
Мне в этом случае «Вместо этого они используют шрифты, указанные в профиле пользователя Firefox». будет правильной функциональностью - пользователь отвечает за вещи, о которых мы мало знаем - например, проблемы со зрением и т. д. ИЛИ просто поместите/вставьте то, что вы хотите (без засечек) в свой CSS, поскольку это то, для чего он нужен
 – 
Mark Schultheiss
24 Мар 2020 в 17:57
Пример font-family: sans-serif;
 – 
Mark Schultheiss
24 Мар 2020 в 18:01
Столкнулся с той же проблемой. У кого-нибудь есть правильное решение?
 – 
majorhavoc
2 Апр 2020 в 14:04
Я не смог найти его, и у меня не было другого выбора, кроме как установить font-family: sans-serif. Используя JS, я смог обнаружить, что вычисленный шрифт параметров действительно был шрифтом моей страницы, так что это буквально ошибка на стороне Firefox, которая не учитывает шрифт. Когда я вручную редактирую семейство шрифтов, чтобы оно было чем-то конкретным, например Comic Sans, это работает, поэтому, возможно, единственным способом является использование JS для установки шрифта раскрывающегося списка после завершения загрузки страницы. я лично не пробовал.
 – 
Grumbunks
2 Апр 2020 в 15:37

1 ответ

Это помогло мне.

select, option {
  font: -moz-pull-down-menu;
}
3
Daan vP 3 Апр 2020 в 10:21
1
Не работает для меня. Опции, кроме первой, не отображают назначенное семейство шрифтов.
 – 
Envayo
4 Ноя 2020 в 10:33