2010-10-25 3 views
2

Я создаю кластер изображений для веб-страницы (аналогично sprite-map) по соображениям производительности. У меня есть утилита, которая генерирует главное изображение, и css для ссылки на карту изображения.Последствия для переопределения стилей CSS

Для простоты я предпочел бы включить новый css после обычного файла css вместо написания скрипта для поиска и замены всех классов в исходном css. Что-то вроде так в HTML (псевдо код):

<LINK href="normal.css" rel="stylesheet" type="text/css"> 

if(%=usingImageCluster=%) 
     <LINK href="master.css" rel="stylesheet" type="text/css"> 

Таким образом, все стили, которые определены в normal.css бы получить переопределены новые стили в master.css.

Пара вопросов:

  • Помимо «дублирования» информации, делает это переопределение проблемы производительности причина?

  • Будет ли браузер по-прежнему отображать некластеризованные изображения, поскольку исходный CSS-файл по-прежнему включен (отрицание положительного прироста производительности кластеризации изображений)?

  • Есть ли гарантия, что последний загруженный стиль будет всегда применяться?

ответ

4

Помимо «дублирования» информации, делает это переопределение проблемы производительности причина?

Да, вы создаете новый HTTP-запрос для второй внешней таблицы стилей. Слишком много HTTP-запросов является фактором замедления # 1 для большинства веб-страниц.

Будет ли браузер по-прежнему выталкивать некластеризованные изображения, поскольку исходный файл CSS по-прежнему включен (отрицание положительного прироста производительности кластеризации изображений)?

Да, браузер будет тянуть ВСЕ изображения из первого и второго файла CSS. Время работы увеличится почти линейно (приблизительное). Особенно, если вы переписываете каждый селектор css или меняете много изображений.

Есть ли гарантия, что последний загруженный стиль всегда будет применяться?

Да. Если первый лист не использует !important для определенных атрибутов стиля, всегда будут применяться последние объявленные стили для селектора. Это где Cascading Style Sheets получают свое имя.

Смежные вопросы