Создание темы для Drupal 6. Переопределение стилей

Аватар пользователя artur.baranok
Опубликовано вт, 07/14/2015 - 12:55 пользователем artur.baranok
Форумы: 

Стандартные и дополнительные модули могут содержать свои стили, которые определяют оформление тех данных, которые генерируют эти модули. Для переопределения этих стилей, их не следует редактировать напрямую в тех папках, где они находятся. Следует скопировать эти файлы в папку темы и переопределить эти файлы в .info-файле темы.

Возьмём для примера файл system-menus.css, который можно найти по адресу modules/system/system-menus.css. Для того, чтобы этот файл игнорировался, следует добавить в .info-файл темы следующую запись:

stylesheets[all][] = system-menus.css

При наличии такой записи, файл system-menus.css будет браться из папки темы, т.к. при совпадении названий файлов, Drupal будет отдавать предпочтение тому, который определён явно. При переопределении стилей, учитывайте следующие моменты:

  • Добавление любой записи в секцию stylesheet[] отменит правила используемые по умолчанию
  • При переопределении файлов, должен совпадать их медиатип. Если медиатип не совпадает, то определяемый файл будет считаться другим файлом и переопределения не произойдёт
  • Любая ссылка в файле стилей должна быть корректной. Дважды проверьте файл для свойства url() или правила @import, чтобы убедиться, что они указывают на верные ресурсы
  • Порядок стилей в HTML-секции может измениться. Это может вызвать неожиданный эффект из-за каскадности применения стилей
  • Некоторые стили стандартных и дополнительных модулей могут загружаться в зависимости от условий. Определение их явной загрузки в .info-файле принудит их загружаться всегда
  • Если требуются незначительные изменения, подумайте об использовании CSS-селекторов в основном файле, а не переопределение всего файла полностью.
  • Изменение записей в .info-файле требует очистки его кеша.

Переопределение стиля базовой темы

Этот параграф относится к подтемам. Чтобы предотвратить перенос стилей от базовой темы в подтему, переопределяйте стили в .info-файле подтемы. Базовая тема и подтемы должны иметь следующую запись:

stylesheets[all][] = masterStyle.css

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

Добавить комментарий

CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.