У нас есть учебный шаблон, который мы будем дорабатывать. А конкретно сформируем css-стили для дизайна внешнего вида модулей, выводимых в шаблоне. Сss-стили будем задавать для классов и id, которые задает сама Джумла. Напоминаем, что сейчас речь пойдет о табличном дизайне. Чтобы Джумла выдала нам НУЖНУЮ разметку модулей, в шаблоне должен быть вызов функции загрузки модулей без второго параметра, например, для позиции left: mosLoadModules('left'); Так задано в учебном шаблоне (из
выпуска №23).
Что оформлять стилями?!
Покажем оформление следующих элементов дизайна:
обрамление модулей и установка шрифтов;
формирование дизайна заголовков модулей;
установка ширины модулей;
и т.д.
Для тех, кто предполагает, что сейчас подобный дизайн не используется, приведем в пример рассылочный сервис MailList.ru, там дизайн и построен на подобных стилевых решениях... И таких сайтов - море :)
Как дорабатываем шаблон
То что было в рабочем шаблоне, не трогаем, если это нам мешать НЕ будет (шапка, например). Еще обратим внимание на пару моментов.
Если Вы юзали немного рабочий шаблон efft_table_karkas, то заметили, что вертикальное выравнивание контента и тех же модулей происходит по центру. А привычнее, когда это содержимое прижато кверху. Самое быстрое решение проблемы, задать стиль для тега <td>:
td { vertical-align:top; }
Еще момент, сейчас в шаблоне содержимое страницы отступает на какое-то расстояние от границ браузера. Почему? Такие настройки браузера по-умолчанию. По настоящему хреново от подобных настроек бывает, если они в разных браузерах разные. Хотя, к отступам от края это не относится, по крайней мере для Мозиллы и ИЕ. А чтобы не тестить это во всех браузерах, лучше устанавливать подобные настройки ЯВНО!
body { margin:5px; }
Задаем основные стили по теме :)
Стиль для таблицы, которую создает Джумла для модуей:
table.moduletable { border: solid 1px #ff9966;/* Рамка. Придерживаемся в оформлении цветовой гаммы Maillist.ru*/ padding-bottom: 10px; /* Отступ содержания от нижней рамки модуля*/ x padding-left: 10px; /* Различно действует для Мозиллы и ИЕ*/ width:100%; }
Комментарии:
с первыми двумя стилями предельно ясно :)
символ 'х' перед стилем padding-left: 10px; означает, что он закомментирован. Зачем он приводится, расскажем ниже
width:100%; Это установит МАКСИМАЛЬНО возможную ширину таблицы относительно контейнера, которым являются ячейки таблицы, определенной в шаблоне, где вызываются функции загрузки модулей и контента. У них пропорции 15%-70%-15% и ширина этих контейнеров остается постоянной. Она может сломаться ТОЛЬКО, если в модуле, будет что-то, не помещающееся в эти пропорции: (а) изображение большой ширины, (б) форма какая-то, например "Выбор шаблона" или неразрываемый текст. Закомментируйте этот стиль ->
рамкивсех модулей станут своей ширины :)
Стиль для заголовков модулей (подражаем Maillist):
table.moduletable th { font-size:14px; color: #ffffff; x height:20px; /* Может задавать высоту заголовка. Если уверены, что заголовки будут однострочными!*/ x line-height:20px;
/* Задает высоту заголовка*/ padding:0; background-color:#FF9933; /* Цвет фона*/ font-family:Arial, Helvetica, sans-serif; /* Как в Maillist, А Verdana красивее выглядит!*/ x white-space: nowrap; }
Комментарии:
Установка высоты заголовка - нудное дело, если НЕ знать некоторых тонкостей. Если не устанавливать ни padding ни height ни line-height, то высота заголовков (судим по фону заголовка) в ИЕ и Мозилле будет разная. Утрясается это стилем padding:0; При наших настройках высота как в Maillist, если хотите высоту больше, задайте стиль line-height :)
white-space: nowrap; Таким стилем устанавливается неразрываемый текст (будет в одну строку, и если длинный, будет ломать верстку :)
Стиль для ячеек таблицы с содержимым модулей:
table.moduletable td { font-size:12px; font-family:Arial, Helvetica, sans-serif; padding-left: 10px; /* Если отступ слева задать для всей таблицы, то в Мозилле этот стиль
подействует на фон заголовка (он тоже будет с отступом - получается кривовато :) Раскомментируйте этот стиль в table.moduletable и посмотрите на результат!
(предварительно закомментировав это :) */ }
Подобные методы мы использовали для дизайна сайта Недвижимость Тверская область. На этом сайте есть еще интересная реализация обрамления модулей рамками с закругленными краями, о чем мы обязательно расскажем в будущем.
Резюме
В сегодняшнем выпуске мы рассказали, какие стили необходимы и достаточны для дизайна модулей. В ближайшем выпуске продолжим их изучение, на примере предельно точного воспроизведения дизайна Maillist.ru Для этого также не обойтись без задания стилей для меню сайта. Вот такие ближайшие планы.
А сегодня, в некотором смысле, юбилейный выпуск: №25. В нем мы не говорили ни о чем особенном, а в следующем выпуске подготовим краткий обзор, что в настоящее время происходит на рынке ЦМС.