@therealgorbonis

Не могу разобраться с логикой css, как он работает?

Задаю стиль
body {
font-family: verdana, tahoma, arial, sans-serif;
}
form input {
font-size: 12px;
font-weight: bold;
}
Во всем документе изменился шрифт на verdana, кроме текстового поля инпута формы

Приходится писать
form input {
font: 12px verdana;
}
И тогда все норм.
Очень хочу понять почему так происходит? Ведь я задал в body шрифт для все странице, а меняется не визде?
  • Вопрос задан
  • 2508 просмотров
Пригласить эксперта
Ответы на вопрос 1
iiil
@iiil
Инженер и вэб-дизайнер, рисую.
Все потому, что у input font-family не inherit по умолчанию, то есть не наследуется, а задан в стилях браузера. Соответственно Ваш стиль перекроет это правило только если Вы конкретно для input укажете font-family, или будете использовать *.
codepen.io/iiil/pen/chtkb

Вы не совсем понимаете принцип наследования. К примеру, если Вы укажете высоту для общей обертки или для body в пикселях, то это не приведет к тому, что все дочерние элементы будут наследовать эту высоту. Скорее всего Вас это не удивит, так как по умолчанию элементы высоту не наследуют. С font-family же Вы удивляетесь потому, что большинство элементов его наследуют, но вот есть исключения.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы