[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамический CSS файл вместо разных файлов
exotica
Доброго wink.gif
Возможно задам очередной идиотский вопрос но все таки его задам, т.к. реализовав его Возможно получить неплохие результаты.

Все наверное слышали такой термен как кроссбраузерность - он из разряда правильной верстки шаблона, так чтобы в разных браузерах наш сайт выглядел одинаково хорошо. Если не ошибаюсь то это именно он.
Сразу скажу меня он не интересует, вопрос отображения сайта в десятке разных браузеров я отложил для себя на десерт. Мне он показался не сколько сложным, сколько очень требовательным к свободному времени - коего пока нету wink.gif

Идея заключается в том чтобы шаблон не просто переставал отображать компоненты системы которые недоступны в настоящий момент. А производил перестроение и выглядел так как будто их и не было вообще. Примером думаю мог бы послужить чат на сайте.

Возьмем простой набор отображаемых элементов:
  • Новости
  • Меню
  • Чат
  • Последние темы форума

Когда включены все компоненты у нас есть обычная страница, слева меню в середине столбик из новостей и справа у нас будут последние темы и ниже маленький чат.
При таком отображении чат будет как бы виджетом мини-чатом. Но если отключить компоненты: Новости и Последние темы форума, мы можем получить слева аккуратное меню того же размера, а вместо средней и правой колонки будет только одна, в которой расположится наш чат но не в мини версии, а уже как основная часть сайта.

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

Мы собственно подошли к моему вопросу biggrin.gif

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

Или есть еще выходы кроме PHP?

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
redreem
нормальный верстальщик сверстает каркас так, что все твои страхи будут уже учтены.
sergeiss
Цитата (exotica @ 28.11.2013 - 18:27)
насколько будет аморально с точки зрения программирования, если при изменении в админке количества компонентов системы, запускался скрипт который менял бы отдельные блоки CSS файла?

При чем тут слово "аморальность"???

Если у тебя просто отдельные блоки могут отсутствовать, то тогда, возможно, "нормальный верстальщик сверстает каркас так, что все твои страхи будут уже учтены" (с) redreem

Если ты хочешь, чтобы вообще всё по-другому выглядело, то тогда просто изначально сделай разные шаблоны.

В ряде случаев можно посредством JS (jQuery) (пере-)настроить вид страницы уже после ее загрузки.

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

Короче говоря, вариантов много smile.gif Выбирай, что тебе нравится.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
exotica
Цитата
нормальный верстальщик сверстает каркас так, что все твои страхи будут уже учтены.

Спасибо redreem я понял уже что ты очень придирчиво относишься к исполнению шаблонов, Но я хочу размыть понятие каркас,))

sergeiss спасибо за варианты, рассмотрю с удовольствием каждый wink.gif

_____________
[FAQ]Регистрации пользователей, сохранение в БД
---------------------------------------------------------------------------
Выходя из ванной, вышел из нее два раза
Zzepish
exotica
хм, интересная штука))
redreem
exotica

дело не в том, что хочет отдельно взятый php-прогер. есть проекты, где задействованы десятки человек, дизайнеры, верстальщики, фронтэндщики, бакэндщики, БДшники... и принять по мере возможности отделять логику от шаблонов, чтобы верстальщик мог спокойно верстать не в никая в пхп, а пхпшник спокойно кодить и не вникать в верстку. думается твой подход смешает в кучу коней и людей и тебя все проклянут smile.gif
Aeq
хранить цсс для блоков в разных файлах абсолютно нормально по-моему. верстальщик может сверстать отдельный компонент в виде отдельного куска хтмл с отдельным цсс и жс. а пхп прогеры потом уже используют эти отдельные блоки, включают в проект в целом, при этом нужные блоки можно собрать в нужных вариациях-пакетах, и минифицировать по пути. можно сделать разные версии main.min.css, main-ie6.min.css, chat.min.css. к примеру main.min.css это будет основной цсс в который собраны основные блоки сайта, main-ie6.min.css будет то же самое что main.min.css + разные хаки для ie6, т.е. не так что 2 файла подключать, а только один в котором уже все что нужно собрано под ie6, а вот chat.min.css будет подключаться дополнительно на странице чата. ну это все чисто к примеру, конкретная логика от ваших целей зависит, да и под ie6 надеюсь уже никто не верстает..
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.