Селектор идентификатора CSS не работает с bootstrap несмотря на загрузку CSS? - PullRequest
0 голосов
/ 15 апреля 2020

Я использую bootstrap для работы с моим сайтом.

Конечно, бывают случаи, когда bootstrap может быть недостаточно или недостаточно гибко.

В этих случаях мы хотим использовать пользовательские CSS.

Однако, когда я использую CSS, это не имеет никакого значения.

Например :

У меня есть изображение

{% extends "base.html" %}
.
.
.
<div class="container">
    <div class="row">
        <img src="https://cdn.dribbble.com/users/3858/screenshots/5909706/stackoverflow-design.png" id="foo">
    </div>
</div>
.
.
.

И я хочу придать ему стиль, поэтому я загружаю свой main.css и ввожу

#foo{
height: 400px;
border-radius: 10px;
}

И все же мое изображение не изменяет высоту и не получает границы радиуса.

Однако, если я сделаю это и добавлю свой стиль в строке:

<div class="container">
    <div class="row">
        <img src="https://cdn.dribbble.com/users/3858/screenshots/5909706/stackoverflow-design.png" id="foo" style="height:400px; border-radius:10px;">
    </div>
</div>

Это работает, и все хорошо в мире.

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

a) Недостаточно указать c и, таким образом, стиль bootstrap имеет приоритет.

Я не понимаю, как это могло быть, учитывая, что я дал уникальный идентификатор для моего тега img id="foo", сколько еще спецификаций c я могу получить?

или

б) неправильно загружает css

Вот так я загружаю css

BASE. HTML

...
<!-- 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" type="text/css" href="{{ url_for('static', filename='main.css') }}">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.13.0/css/all.min.css">
...

Я новичок в CSS, что мне не хватает?

ОБНОВЛЕНИЕ

Сегодня я провел безуспешно несколько часов, пытаясь решить эту проблему.

Вот то, что я пробовал:

Использование !important, чтобы увидеть, если это была проблема со спецификой селектора. Я добавил это, и это все еще не работало.

После этого я выполнил проверку элемента и увидел, что он распознает тег, а css правильно связывается, но все еще не работает, в меню стилей это только показывая:

styles

конечно, нет никакого упоминания о моем кастомном css только то, что я считаю стилем bootstrap.

пользовательский css определенно загружается, как вы можете видеть здесь, мои данные сети в chrome проверяют отображение статуса 200 на главном. css файле.

enter image description here

Я провел безуспешно несколько часов.

Может кто-нибудь, пожалуйста, помогите !!!!!

Ответы [ 2 ]

0 голосов
/ 15 апреля 2020

За ответ на запрос:

Это похоже на проблему с кешированием. Вы можете обойти кеш несколькими способами:

Hard Refre sh

Сделайте hard refre sh в вашем браузере. Полные инструкции можно найти здесь: https://support.piktochart.com/article/243-clear-browser-cache

Но вот основные моменты:

Windows / Linux: CHROME

  1. Удерживая нажатой клавишу Ctrl, нажмите кнопку «Перезагрузить».
  2. Или, удерживая нажатой клавишу Ctrl, нажмите F5.
  3. Откройте Chrome Инструменты разработчика, нажав F12. Как только инструменты chrome dev будут открыты, просто щелкните правой кнопкой мыши на кнопке refre sh, и появится меню. В этом меню вы можете выполнить жесткое обновление sh или даже очистить кэш и автоматически выполнить полное обновление sh.

Ma c:

  1. Удерживайте Shift и нажмите кнопку «Перезагрузить».
  2. Или, удерживайте клавиши ⌘ (Cmd) и ⇧ (Shift), а затем нажмите R.

Windows / Linux (Mozilla Firefox и связанные браузеры):

  1. Удерживайте клавишу Ctrl и нажмите клавишу F5.
  2. Или удерживайте нажмите Ctrl и ⇧ (Shift), а затем нажмите R.

Ma c:

  1. Удерживайте ⇧ (Shift) и нажмите кнопку перезагрузки.
  2. Или, удерживая ⌘ (Cmd) и ⇧ (Shift), затем нажмите R.

Inte rnet Explorer:

  1. Удерживайте клавишу Ctrl и нажмите клавишу F5.
  2. Или удерживайте клавишу Ctrl и нажмите кнопку Refre sh.

Отключить кеш в вашем браузере

Как и в ответе Даниэля Витека выше ({ ссылка }), вы Вы можете отключить кэш с помощью Инструментов разработчика в любом браузере, который вы используете.

Версия вашего CSS файла

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

Вручную

Добавляйте строку запроса в CSS при каждом обновлении, например, main.css?v=2 Это будет работать, но требует обновления версии.

Программно Если вы используете язык на стороне сервера, систему шаблонов или даже JS (предостережение JS вероятно, должен загружаться до вашего файла CSS и не откладываться), вы можете добавить строку запроса на основе даты изменения CSS. Это гарантирует, что CSS будет перезагружен только тогда, когда было действительно изменение.

В примере PHP будет использоваться filemtime(). Получается время изменения файла.

main.css?v=<?php echo filemtime('main.css'); ?>

Это вывело бы метку времени UNIX времени последнего изменения файла.

0 голосов
/ 15 апреля 2020

В Chrome вы можете отключить кэширование файлов, пока у вас есть открытые инструменты разработки - просто отметьте опцию Отключить кэширование на вкладке Сеть в инструментах разработки.

disable cache option chrome

...