Шрифт не меняется в файлах CSS

#html #css

Вопрос:

В настоящее время использует Django с загрузкой 4. По какой-то причине я не могу изменить семейство шрифтов через мой основной файл.css. Я могу изменить другие атрибуты, но шрифт, похоже, не работает.

Если я изменю семейство шрифтов в других моих файлах, это сработает. Я просто не могу изменить его с помощью моего main.css.

Что я делаю не так?

index.html

 
{% load static %}

<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="{% static 'css/main.css' %}">
...

 

main.css

 body {
   font-family: "Times New Roman", Georgia, serif !important;
}
 

Комментарии:

1. Что вы сделали, чтобы отладить это? Вы смотрели на сгенерированный HTML, чтобы убедиться, что он правильный? Вы проверили вкладку Сеть, чтобы убедиться, что загружается основной файл.css? И что он содержит контент, который вы ожидаете (а не, например, какой-то старый, кэшированный контент)? Вы использовали инспектор DOM для просмотра элемента body, чтобы узнать, применен ли к нему CSS? И что это не отменяется другим правилом, которое применяется к тому же элементу?

Ответ №1:

У вас есть 2 варианта: создать тег стиля в теге head или выбрать все вместо тела в main.css. Пример:

index.html

 {% load static %}

<!doctype html>
<html lang="en">
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" href="{% static 'css/main.css' %}">
    <style>
        * {
            font-family: "Times New Roman", Georgia, serif !important;
        }
    </style>
...
 

или

main.css

 * {
    font-family: "Times New Roman", Georgia, serif !important;
}
 

Комментарии:

1. Почему это должно помочь? ОП сказал, что это работает, если код находится в другом файле.

Ответ №2:

Начальная загрузка переопределяет css даже с тегом !важно. Если вы выполняете встроенный стиль, он должен переопределять начальную загрузку. <body style='font-family: "Times New Roman", Georgia, serif !important;'>