Застосування одного шрифту до цілого веб-сайту за допомогою CSS


92

Я хочу використовувати єдиний шрифт під назвою "Алжир" на всьому своєму веб-сайті. Отже, мені потрібно змінити всі теги HTML, і я не хочу писати різний код для різних тегів, таких як:

button{font-family:Algerian;}
div{font-family:Algerian;}

Метод, написаний нижче, також вкрай не рекомендується:

div,button,span,strong{font-family:Algerian;}

3
сімейство шрифтів - це успадковане значення, то чому б просто не визначити його на тілі?

Можливо, ви захочете вибрати відповідь від Jukka K. Korpela. Це раніше, ніж поточна обрана відповідь, приблизно на один місяць, і в будь-якому випадку вона має майже такий же вміст.
okm,


Я пропоную вам ніколи не використовувати відповідь (Jan Hančič), оскільки він застосовує ваш шрифт до всіх тегів html, навіть до тегу, який ви не любите змінювати. наприклад: якщо ви зробили тег img всередині тегу td і зробили його вирівнюванням тексту: по центру та вертикальним вирівнюванням: посередині. використовуючи цей спосіб, ваш тег img ніколи не буде центром TD. найкращий спосіб: перевірити документ і просто застосувати формат шрифту до тегів, у яких є тексти
Махді Джазіні

Відповіді:


112

Помістіть font-familyдекларацію в bodyселектор:

body {
  font-family: Algerian;
}

Тоді всі елементи на вашій сторінці успадкують це сімейство шрифтів (якщо, звичайно, ви не заміните його пізніше).


11
Елемент успадковується font-familyвід свого батька лише тоді, коли жодна таблиця стилів не встановлює сімейство шрифтів для елемента. Листи Браузер стилів зазвичай встановлюється сімейство шрифтів , по крайней мере для input, textarea, code, tt, і preелементів.
Jukka K. Korpela

Ти правий. Я працюю із скиданнями CSS так довго, що забуваю подібні речі :)
Ян Ганчич

Або ще краще, поєднайте дві найпопулярніші відповіді ... body, * {font-family: Algerian;}
james ace

105

3
Цікаво, що це не працює при використанні скидання CSS Еріка Мейєра
ianbeks

Чи не застосовується це сімейство шрифтів до кожного окремого елемента? Здається, це застосувало б його до непотрібних елементів (наприклад, <img>) і було б неефективним. Я точно міг би помилитися, але я читав, щоб з обережністю застосовувати стиль до всього.
Макс Стратер

Оскільки універсальне правило не можна замінити, ви не зможете використовувати другий шрифт на своєму сайті.
Джуліан Ф. Вайнерт

Оскільки про це згадав noboy, універсальний селектор, як відомо, повільний. докладніше про це тут: clairecodes.com/blog/…
Terje

Або ще краще, поєднайте дві найпопулярніші відповіді ... body, * {font-family: Algerian;}
james ace

48

Універсальний селектор *посилається на всі елементи, цей css зробить це за вас:

*{
  font-family:Algerian;
}

Але, на жаль, якщо ви використовуєте значки FontAwesome або будь-які значки, які потребують власного сімейства шрифтів, це просто знищить піктограми, і вони не відображатимуть необхідний вигляд.

Щоб уникнути цього, ви можете скористатися :notселектором, зразком піктограми fontawesome <i class="fa fa-bluetooth"></i>, тому просто ви можете використовувати:

*:not(i){
  font-family:Algerian;
}

це застосує це сімейство до всіх елементів у документі, крім елементів з іменем тегу <i>, ви також можете зробити це для класів:

*:not(.fa){
  font-family:Algerian;
}

це застосує це сімейство до всіх елементів у документі, за винятком елементів із класом "fa", який відноситься до класу fontawesome за замовчуванням, ви також можете націлити декілька класів, як це:

*:not(i):not(.fa):not(.YourClassName){
  font-family:Algerian;
}

Ця відповідь дає настільки необхідні подробиці щодо поточного використання стилів на веб-сторінках завдяки використанню піктограм із bootstrap (glyphicons) та чудового шрифту
Лакшман,

зверніть увагу, ніж: (не селектор) - це CSS3, який не сумісний з усіма браузерами. IE 9+ ми повинні почекати принаймні 10 років, щоб усі люди у всьому світі назавжди залишили сім'ї IE -9: D: '(
Махді Джазіні

19

Переконайтеся, що мобільні пристрої не змінюють шрифт за замовчуванням, використовуючи важливі разом із універсальним селектором *:

* { font-family: Algerian !important;}


3

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

body, input, textarea {
    font-family: Algerian;
}

body {
    font-family: Algerian !important;
}

У таких елементах, як pre / code, kbd тощо, все одно буде монопросторовий шрифт, але, якщо ви використовуєте ці елементи, вам краще використовувати там монопросторовий шрифт.

Важливе зауваження: якщо дуже мало людей мають цей шрифт, встановлений у своїй ОС, тоді буде використаний другий шрифт у списку. Тут ви не визначили жодного другого шрифту, тому використовуватиметься шрифт за замовчуванням за замовчуванням, і це буде Times, Times New Roman, за винятком, можливо, Linux.
Є два варіанти: використовуйте @ font-face, якщо ваш шрифт не можна використовувати як завантажуваний шрифт, або додайте резервні файли: другий, третій тощо і нарешті сімейство за замовчуванням (sans-serif, скоропис (*), монопростір або зарубок). Буде використано перший із списку, який існує в ОС користувача.

(*) курсивом за замовчуванням у Windows є Comic Sans. За винятком випадків, коли ви хочете тролити користувачів Windows, не робіть цього :) Цей шрифт жахливий, крім днів народження ваших дітей, де він вітається.


2

Будь ласка, розмістіть це в голові ваших Сторінок (сторінок), якщо для "тіла" потрібно використовувати один і той же шрифт:

<style type="text/css">
body {font-family:FONT-NAME ;
     }
</style>

Все між тегами <body>і </body>матиме однаковий шрифт


1

Гаразд, у мене виникла ця проблема, коли я спробував кілька різних варіантів.

Я використовую шрифт Ubuntu-LI, я створив папку шрифтів у своєму робочому каталозі. під шрифтами папки

Я зміг застосувати це ... зрештою ось мій робочий код

Я хотів, щоб це стосувалося всього мого веб-сайту, тому розмістив його у верхній частині css-документа. перш за все теги Div (не те, що це важливо, просто знайте, що будь-які окремі шрифти, які ви призначите після публікації вашого сценарію, матимуть перевагу)

@font-face{
    font-family: "Ubuntu-LI";
    src: url("/fonts/Ubuntu/(Ubuntu-LI.ttf"),
    url("../fonts/Ubuntu/Ubuntu-LI.ttf");
}

*{
    font-family:"Ubuntu-LI";
}

Якби я тоді хотів, щоб усі мої теги H1 були чимось іншим, скажімо без саріфа, я б зробив щось подібне

h1{
   font-family: Sans-sarif;
}

У такому випадку лише мої теги H1 були б шрифтом sans-sarif, а решта моєї сторінки - шрифтом Ubuntu-LI


0

у Bootstrap веб-інспектор каже, що заголовки налаштовані на "успадковувати"

все, що мені потрібно, щоб встановити мою сторінку на новий шрифт, було

div, p {font-family: Algerian}

це в .scss


-1
*{font-family:Algerian;}

цей html у мене працював. Додано до налаштувань полотна в wordpress.

Виглядає круто - дякую!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.