Различие между @import и ссылкой в CSS

Вы не используете ValidationError в представлениях, как те исключения, что и для форм. Скорее, вам следует перенаправить пользователя на другой URL-адрес, который объяснит ему, что он не сможет опубликовать снова в ближайшее время. Это правильный способ справиться с этим. ValidationError следует вызывать внутри экземпляра Form, когда входные данные не проверяются. Это не тот случай.

107
задан VXp 14 March 2018 в 12:45
поделиться

7 ответов

Теоретически единственная разница между ними состоит в том, что @import - это механизм CSS для включения таблицы стилей, а механизм HTML . Однако браузеры обрабатывают их по-разному, что дает явное преимущество с точки зрения производительности.

Стив Содерс написал обширное сообщение в блоге, в котором сравнивал влияние как , так и @import (и всевозможные их комбинации) под названием « не используйте @import ». Это название говорит само за себя.

Yahoo! также упоминает это как одну из своих лучших практик (в соавторстве со Стивом Содерсом): Выберите вместо @import

Также, используя позволяет определить "

131
ответ дан 24 November 2019 в 03:42
поделиться

Вы можете использовать команду import, чтобы импортировать другой CSS внутри файла css, что невозможно с помощью команды link. На самом деле старый браузер не может (IE4, IE5 частично) обрабатывать функцию импорта. Кроме того, некоторые библиотеки, анализирующие ваш xhtml / html, могут не получить импорт таблицы стилей. Имейте в виду, что ваш импорт должен предшествовать всем остальным объявлениям CSS.

6
ответ дан 24 November 2019 в 03:42
поделиться

Сегодня нет реальной разницы, но @import некорректно обрабатывается старыми браузерами (Netscape 4 и т. Д.), Поэтому взлом @import можно использовать, чтобы скрыть правила CSS 2 от этих старых браузеров.

Опять же, если вы не поддерживаете действительно старые браузеры, разницы нет.

На вашем месте, однако, я бы используйте вариант на своих HTML-страницах, потому что он позволяет вам указывать такие вещи, как тип носителя (печать, экран и т. д.).

6
ответ дан 24 November 2019 в 03:42
поделиться

Когда я использую правило @import, обычно я импортирую таблицу стилей в существующую таблицу стилей (хотя мне не нравится делать это с самого начала). Но отвечая на ваш вопрос, нет, я не верю, что есть какая-то разница. Просто убедитесь, что URL-адрес заключен в двойные кавычки, чтобы соответствовать допустимому XHTML.

1
ответ дан 24 November 2019 в 03:42
поделиться

@import обычно предназначен для использования во внешней таблице стилей, а не во встроенной, как в вашем примере. Если вы действительно хотели скрыть таблицу стилей от очень старых браузеров, вы можете использовать это как уловку, чтобы предотвратить использование этой таблицы стилей.

В целом, тег обрабатывается быстрее, чем правило @import (которое, по-видимому, несколько медленнее с точки зрения механизма обработки CSS).

1
ответ дан 24 November 2019 в 03:42
поделиться
2
ответ дан 24 November 2019 в 03:42
поделиться

Директива может разрешить загрузку и асинхронную интерпретацию нескольких CSS-файлов.

директива @import заставляет браузер * ждать, пока импортированный скрипт не будет загружен встроенным в родительский скрипт прежде, чем он сможет быть правильно обработан его движком, поскольку технически это всего лишь один скрипт.

Многие скрипты минимизации css (и языки, такие как less или sass) будут автоматически объединять связанные скрипты в основной скрипт, поскольку в конечном итоге это приводит к меньшему накладные расходы на передачу.

* (зависит от браузера)

5
ответ дан 24 November 2019 в 03:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: