Как применить глобальный шрифт ко всему документу HTML


175

У меня есть HTML-страница, которая включает в себя текст и форматирование. Я хочу, чтобы у него было то же семейство шрифтов и тот же размер текста, игнорируя все внутреннее форматирование текста.

Я хочу установить глобальный формат шрифта для страницы HTML.

Как мне этого добиться?

Ответы:


263

Вы должны быть в состоянии использовать звездочку и !importantэлементы в CSS.

html *
{
   font-size: 1em !important;
   color: #000 !important;
   font-family: Arial !important;
}

Звездочка соответствует всему (вы могли бы уйти без этого htmlтоже).

В !importantгарантирует , что ничто не может переопределить то , что вы установили в этом стиле (если это не важно). (это должно помочь вам с требованием, чтобы оно «игнорировало внутреннее форматирование текста» - что, как я понял, означает, что другие стили не могут их перезаписать)

Остальная часть стиля в фигурных скобках похожа на любой другой стиль, и вы можете делать там все, что захотите. Я решил изменить размер шрифта, цвет и семью в качестве примера.


24
+1 !importantполезен, но он может получить немного "thar be monsters", если его чрезмерно использовать.
StuperUser

2
+1 за отличное использование !important. Он всегда должен использоваться как последний вариант.
дШринги

3
Обратите внимание, что использование !importantздесь связано с требованием исходного плаката: «иметь одинаковое семейство шрифтов и одинаковый размер текста, игнорируя все внутреннее форматирование текста». Если у вас нет этого требования, вы не хотите использовать !important.
Сет

1
Использование html * {}или body * {}поможет вам избежать переопределения с помощью более конкретных body p {}включенных таблиц стилей. body p {}более конкретно, чем body {}, поэтому звездочка является важным элементом здесь.
YoYo

1
Я думаю , что вы можете пропустить htmlиз html *здесь
JonnyRaa

44

Лучшая практика, я думаю, это установить шрифт для тела:

body {
    font: normal 10px Verdana, Arial, sans-serif;
}

и если вы решите изменить его для какого-то элемента, он может быть легко переписан:

h2, h3 {
    font-size: 14px;
}

Если вы используете фреймворк, такой как Foundation CSS, это не работает без добавления!
Петрос Кириаку

16

Установите его в селекторе тела вашего CSS. Например

body {
    font: 16px Arial, sans-serif;
}

1
Это может быть отменено с помощью более конкретных селекторов.
StuperUser

2
Это не относится ко всем элементам, например: input type = 'button'
RRTW

12

Используйте следующий CSS:

* {
    font: Verdana, Arial, 'sans-serif' !important;/* <-- fonts */
}

*-Селектор означает любые / все элементы, но, очевидно , будет на нижней части пищевой цепи , когда речь идет о перекрывая более конкретных селекторы.

Обратите внимание, что !important-flag отобразит -style fontдля *абсолютного значения, даже если для установки текста использовались другие селекторы (например, bodyили, может быть, a p).


1
Возможно !important, помешает другим селекторам переопределить настройки.
Quasdunk

1
Что ж, да, !importantэто помешает другим селекторам переопределить, если они также не используют его. Хех. Я отредактирую свой пост и добавлю его - спасибо. :-)
karllindmark

Да, это верно. Не совсем уверен, но я думаю, что предпочтение также зависит от того, где вы размещаете декларацию. Если вы разместите его в самом низу, я также могу переопределить !importants из более конкретных селекторов выше. Но я думаю, что дело не в этом :)
Quasdunk

Это единственный ответ, который действительно работал для меня. Не знаю почему, но это так.
Питер Гордон

5

Вы никогда не должны использовать * + !important. Что если вы хотите изменить шрифт в некоторых частях вашего HTML-документа? Вы должны всегда использовать тело без важного. Используйте !importantтолько если нет другого варианта.


1

Попробуй это:

body
{
    font-family:your font;
    font-size:your value;
    font-weight:your value;
}

Привет anglimass, я отформатировал ваш код, если вы используете 4 пробела или {}кнопку, вы можете отобразить пример кода таким образом в ваших ответах.
StuperUser
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.