Як я можу замінити стилі CSS у своєму шаблоні?


21

Коли ви користуєтеся безкоштовним / комерційним шаблоном Joomla від Template Club X / Y / Z, який найкращий спосіб включити мої власні стилі CSS?


1
Додайте таблицю стилів custom.css. якщо ваш шаблон не підбирає його автоматично, ви можете додати його у head.php, як правило, шлях такий: шаблони / ім'я шаблону / tpls / блоки / head.php <link rel = "stylesheet" href = "/ шаблони / ім'я шаблону / css / custom.css "type =" text / css "/>
Тоні М

Відповіді:


22

Навіщо використовувати заміщення CSS?

Завжди корисно тримати стилі CSS окремо від існуючих стилей шаблону, якщо ви використовуєте заздалегідь вбудований шаблон Joomla.

  • Це простіше в обслуговуванні
  • Ваші зміни не будуть втрачені, якщо ви оновите шаблон
  • Ви можете легко скопіювати / перемістити зміни до іншого шаблону чи іншого веб-сайту.

Як функціонує скасування CSS?

CSS означає "Каскадні таблиці стилів", "Каскадні" в цьому контексті, що означає, що оскільки більше одного правила таблиці стилів може застосовуватися до певного фрагмента HTML, правило, яке використовується, вибирається шляхом каскадування вниз від більш загальних правил до конкретного потрібного правила ( вибирається найбільш конкретне правило) або на основі порядку правил для будь-якого елемента (вибирається останнє знайдене правило).

Поки ваш індивідуальний файл CSS завантажується після файлів CSS шаблону за замовчуванням, ви можете додати свої власні стилі, щоб замінити певні елементи за потребою (є деякі винятки, докладніше - нижче).

Загальне використання

Щоб завантажити спеціальний аркуш стилю в <head>тег Joomla , наступний код може бути доданий у index.phpфайл вашого шаблону ( YOURDOMAIN.COM/templates/yourtemplate/index.php), безпосередньо перед закінчувальним </head>тегом, щоб забезпечити останню завантаження вашого файлу.

JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/custom.css');

(Файл CSS може мати будь-яке ім’я, і він не повинен бути в / css / підпапках, але він чистіший.)

Можна також додати звичайний <link>тег, але це менш гнучко, ніж вищезгаданий варіант:

<link rel="stylesheet" href="/joomla//templates/mytemplate/css/custom.css" type="text/css" />

! Важливо!

Деякі розширення можуть завантажувати свої стилі CSS після вашого (або навіть додавати стилі безпосередньо у файл index.php), таким чином, переосмислюючи ваші зміни. Зазвичай це можна вирішити, додавши !importantдо своїх стилів, наприклад.h1{color:red!important;}

Використання в різних рамках

Тепер приємна частина: у багатьох рамок шаблонів є можливість, що користувачі захочуть внести зміни в свої шаблони, тим самим додавши простий спосіб включити ваші CSS зміни. Ось деякі з використаних методів:

RocketTheme Gantry 4

Шаблони RocketTheme використовуються за допомогою Gantry Framework, а індивідуальний файл CSS завантажується автоматично, якщо знайдеться. Файл CSS повинен бути розміщений у /templates/yourtemplate/css/папці, а ім'я має бути YOURTEMPLATEFOLDER-custom.css.

Приклад: Якщо ви використовуєте їх безкоштовний Afterburner 2шаблон, це каталог шаблонів за замовчуванням /templates/rt_afterburner2/. Додайте файл з назвою rt_afterburner-custom.css(обережно з підкресленням та дефісом) в / css / підпапку, і він автоматично завантажується рамкою Gantry.

Форма 5

Шаблони форми 5 надсилаються з порожнім custom.cssфайлом у підкаталог / css / вашого шаблону. Просто додайте в цей файл свої стилі, і вони будуть включені у ваш макет.

Gavick Pro

Шаблони Gavick Pro надсилаються з порожнім overrides.cssфайлом у підкаталозі / css /. Але зауважте, що цей файл не завантажується за замовчуванням, його потрібно активувати Override CSSна вкладці Додаткові параметри в налаштуваннях шаблону.

Joomla Shine

Створіть спеціальний CSS-файл у / css / підпапці шаблону, наприклад, custom.cssта вкажіть ім'я файлу на Extensions -> Templates -> [template name] -> SEO & System -> Custom CSS/JS File(s).

T3 Framework

Шаблони, засновані на T3 Framework, можуть / можуть не включати custom.cssфайл у / css / підпапку вашого шаблону (просто створіть його, якщо його немає), але при наявності файл буде завантажений після будь-якого іншого файлу CSS.

Warp Framework

Шаблони на основі рамки Warp автоматично завантажують custom.cssфайл, знайдений у / css / в підпапках. Додаткові файли CSS можна завантажити, додавши

$this->warp->stylesheets->add('css:yourcssfile.css');

до файлу /layouts/template.config.php.


2
Для загального використання я б запропонував JHtml::_('stylesheet', 'path/to/file')скоріше використовувати, а не addStyleSheetпро те, про що вже говорилося в іншій відповіді. Однозначно стане у нагоді людям
Лоджер

Дякую, @Lodder. Я сподіваюся, що ця інформація може бути корисною для людей. Щодо вашої пропозиції, я прочитав дискусію. Як можна JHtml::_користуватися $this->template?
johanpw

2
JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/style.css');
Лоджер

3
Власне, новіші теми ракет використовують менше. Все, що вам потрібно зробити, - це створити файл у папці МЕШЕ, що називається template-custom.less, і ввести свій код у цьому. Тоді ви можете насолоджуватися хитрощами, які приносить МЕНШЕ. Warp 7 дозволяє створити власний "стиль" у папці стилів, і ви можете фактично вставити файл custom.css у папку ТОГА (всередині власної папки css). Таким чином, кожен стиль може мати свій власний CSS. Це також змушує її відстоювати оновлення шаблонів. Використання файлу custom.css за замовчуванням означає, що воно перезаписується щоразу, коли ви оновлюєте тему.
Брайан Торф

1
Чудова відповідь і дуже корисна! Ще один варіант, який ви хочете додати для шаблонів / фреймворків, що не містять надання спеціальних файлів CSS, - це використання розширення третьої сторони, такого як CSSConfig extensions.joomla.org/extensions/style-a-design/templating/… який призначений саме для цієї мети.
Ніл Робертсон

7

Joomla 3.5+ (шаблон Protostar)

Станом на Joomla 3.5 ви можете створити названий файл user.cssі розмістити його в:

шаблони / protostar / css / user.css

Примітка: ім'я файлу повинно бути такимuser.css


Шаблон protostar перевірить, чи:

  • Файл існує
  • Розмір файлу - > 0.

Якщо обидва умови виконані, він автоматично імпортує цей файл для вас.

Див. Запит на отримання послуг Github


5

Helix Framework ( JoomShaper )

Ще одна рамка шаблонів Joomla, яка полегшує робочий процес налаштування.

Шаблони Helix Framework пропонують також простий спосіб додати власні стилі за допомогою двох зручних методів.

  1. На панелі керування шаблоном у бекенді є поле Custom CSS. Тут ви можете ввести свій css, який буде доданий як елемент стилю в головному розділі ваших сторінок і, таким чином, він також матиме перевагу перед іншими зовнішніми файлами css. Звичайно, цей варіант не є ідеальним, якщо ви плануєте написати купу рядків css, тому існує другий метод.

  2. Як і багато інших рамок шаблонів, Helix також надає можливість створювати власний файл custom.css. Просто створіть його та помістіть всередині папки css шаблону. Шаблон розбере його і включить його в головний розділ ваших сторінок.


3

Йоханп зробив дуже гарну роботу зі своєю відповіддю на власне запитання ... особливо щодо скасування css для багатьох комерційних шаблонів.

Я хотів би лише додати тут свої два центи ...

Як підкреслив Йоханпу, рекомендована практика створення надбудок CSS. Зберігання користувальницького CSS в одному файлі, з якого ви знаєте, що після оновлення не буде видалено або замінено.

Це важливо пам’ятати для всіх розширень Joomla. Не намагайтеся змінити основний файл css модуля або компонента. Натомість краще спробуйте створити власний власний файл template.css, завантажити його останньою і там створити всі власні стилі.

У тих випадках, коли комерційний шаблон не забезпечує спосіб додавання css override, ви можете використовувати розширення, як це: Додати користувальницький CSS , який дозволяє саме це. Щоб створити власний файл перезапис css та завантажити його останньою.

Інший варіант, який я часто роблю на сайтах, якими я керую, - це змінити шаблон і додати моє власне посилання до мого файлу custom.css , безпосередньо перед головним тегом шаблону шаблону. Це незначна, легка запам'ятовувати та відновити модифікацію, з якою я добре впоратися, коли надійде оновлення шаблону.


3

Козловий 5 (RocketTheme)

Gantry 5 - це остання версія популярного шаблону рамки, і вона надає масу нових можливостей та можливостей.

Щодо скасування CSS, існує велика гнучкість та варіанти.

Беручи Тему водню, яка випускається як стандартний шаблон Gantry 5, вона містить папку з назвою custom.

Ця папка призначена для того, щоб користувач міг розміщувати власні файли / переопределення для козлового шаблону / шаблону (не плутати їх із переопрацюваннями шаблонів Joomla, що залишається у папці шаблонів / html). Ви можете розмістити там файл custom.css. Потім за допомогою панелі адміністрування шаблонів Gantry ви можете налаштувати макети шаблонів і скористатися користувальницькою частинкою CSS / JS Atom (нова функція козла 5), щоб додати свій шаблон custom.css до шаблону. Gantry 5 надає також так звані потокові посилання (наприклад, ярлики), щоб легко зв’язати ваш файл custom.css.

Тож зсередини частинки Atom ви пов'язуєте це за допомогою:

gantry-theme://custom/thing.css

gantry-theme://Ярлик, завжди буде ставитися до поточної папки шаблону козлових.

Використання цього підходу - це ефективний спосіб додати custom.css для конкретних контурних шаблонів шаблону gantry5.

Другий підхід, який працює в усьому світі для всього шаблону, полягає в додаванні файлу custom.scss всередині:

template_directory/custom/scss/custom.scss

У цьому випадку gantry5 завжди завантажуватиме та компілювати цей файл scss, і будь-які застосовані вами правила css замінять правила за замовчуванням шаблону.

Усередині файлу scss ви прекрасно використовуєте SCSS або просто css. Компілятор здатний компілювати обидва.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.