#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;'>