Все игры
Запись

Меню сообщества с использованием стилей css


Нравится

Вы не можете комментировать, т.к. не авторизованы.


Нелли Бойнова      04-03-2014 23:45 (ссылка)
Re: Меню сообщества с использованием стилей css
Меню сообщества с использованием стилей css

В эти дни, когда всё прогрессивное человечество во всяком случае его значительная часть, получившая постоянную прописку на mail.ru, занята созданием и обустройством собственных блого-групп, или собирается это делать, вопрос создания меню сообщества актуальный как никогда. Ровно год назад мы уже учились создавать меню. Тем, кто решится самостоятельно заняться меню, я бы посоветовала освежить в памяти тот пост, потому что о том, как нарисовать таблицу HTML там рассказано очень подробно и останавливаться на этом вопросе в данном посте я не планирую.

Меню на основе картинки, о котором шла речь в предыдущем посте, самое распространённое на сайте mail.ru и одновременно самое простое. Но в нём есть некоторые недостатки и сложности, с которыми вам придётся столкнуться, если вы попытаетесь сделать такое меню. Несмотря на то, что фотошоп установлен наверное у каждого второго пользователя, далеко каждый сможет нарисовать для себя привлекательное меню; меню-картинка имеет какой-то вес, то есть загружается не мгновенно, что важно для пользователей с медленным интернетом; даже если вы нарисуете великолепный вариант меню, в сообществе оно превратится в разлинованный рисунок из-за ошибок в коде самого сайта.

Избежать этих проблем позволит меню с использованием стилей css, о которых мы говорили в одном из занятий нашего тренинга. Именно таким образом создано меню нашего сообщества, а ещё раньше мы его использовали, чтобы сделать меню сообщества "Компьютеры и интернет" и это было самое первое меню с использованием стилей css на сайте. Меню многим понравилось, были вопросы и в сообществе и в личке с просьбой рассказать как его сделать.

Рассказываю :)

Так будет выглядеть меню


Для примера использую меню нашего сообщества, вернее, его небольшую часть:

PRO COMP  компьютер - это просто
Безопасность
Компьютер
Интернет
          Поиск по сообществу    
по комментариям


Основа меню - таблица HTML


Для меню нам понадобится вот такая таблица:



Её код:

<table border="0" cellspacing="0" cellpadding="2" align="center"><tr><td colspan=3>...</td></tr><tr><td>...</td><td>...</td><td>...</td></tr><tr><td colspan=3>...</td></tr></table>


Таблица состоит из трёх строк, во второй строке три ячейки, в первой и третьей по одной большой объединённой ячейке, для создания которой используется атрибут colspan.
Значение:
colspan=3 в коде ячейки говорит о том, что она занимает такое же пространство, что и три обычные ячейки таблицы.

Мы не задаём размеры ячеек, они будут определяться по содержимому.
Значения атрибутов:
border="0" cellspacing="0" cellpadding="2" - ширина (0), расстояние между ячейками (0), отступ содержимого от границ ячейки (2рх). Последняя величина нужна для того, чтобы между ячейками в таблице были видны промежутки. Если такие промежутки не нужны, значение cellpadding тоже принимается равным "0"

align="center" - выравнивание таблицы по центру.

Итак, таблицу мы создали, но если вы захотите посмотреть как выглядит приведённый мной код, не увидите совершенно ничего.
Это как в том анекдоте про суслика:
- Ты суслика видишь ? - Нет - И я не вижу. А он есть.

Точно так же и с таблицей: никто её не видит, но она есть, а главное, о её существовании знает браузер, который готов разместить содержимое по ячейкам таблицы. Осталось, это содержимое создать.

Оформление ячеек таблицы при помощи стилей css


Если вы участвовали в нашем тренинге, наверное помните, что о стилях css мы уже говорили.
Точно такие же рамочки css с фоном используем и для заливки ячеек таблицы. Фоном рамочки может быть и цвет (тогда она получается невесомой) и картинка (так вы можете избавиться от промежутков между строками таблицы, которые добавляет майл).

В нашем меню мы использовали оба варианта: верхняя ячейка - картинка в рамочке, все остальные - просто цвет.

Код верхней ячейки:

<font style="display:block; width:600px; height:26px; border:1px solid #0097D8; border-radius:3px; background:#08B0F1 url(http://content.foto.mail.ru...); padding:20px;"></font>


В этом коде:
  • width:600px;height:26px;
  • - ширина (600рх) и высота (26рх)ячейки;
  • border:1px solid #0097D8;
  • - граница ячейки: толщина (1рх), стиль (solid), цвет (#0097D8;
  • border-radius:3px;
  • - радиус скругления уголков (3рх);
  • background:#08B0F1 url(http://content.foto.mail.ru...);
  • - фон ячейки: заливка цветом (#08B0F1) и картинкой (http://content.foto.mail.ru...);
  • padding:20px;
  • - отступ содержимого (текста) от границ ячейки

Примечание*
В заливке ячейки мы используем и цвет и картинку для тех случаев, когда при медленном интернете картинка будет грузиться долго, или если в браузере заблокированы картинки.

Код ячейки из второй строки:

<font style="display:block; width:202px;height:22px; border:1px solid #0097D8; background:#08B0F1 url(http://content.foto.mail.ru...); border-radius:3px;padding:4px;"></font>


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

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

Для нижней ячейки используем такой же код, но с большей шириной ячейки и без заливки картинкой с градиентом цвета (просто так захотели, чтобы нижняя ячейка выглядела плоской).

Содержимое ячеек таблицы


В верхней ячейке мы разместили название сообщества. Это обычный текст, цвет и размер которого форматировали с помощью встроенного редактора записи.

В центре таблицы размещаются ссылки на посты меню.

Код ссылки:

<a href="АДРЕС ССЫЛКИ">ТЕКСТ ССЫЛКИ</a>


Обратите внимание, в тексте ссылок тоже можно изменять цвет и размер текста. Но если изменение размера роли не играет (следите только, чтобы текст помещался в ячейке), то при изменении цвета текста исчезает эффект изменение цвета ссылки при наведении курсора. Вначале текст ссылок мы сделали белым - так наряднее. Сейчас оставили цвет ссылок синим, по умолчанию, зато теперь ссылки в меню меняются, когда на них наводят курсор.

В нижней ячейке мы поместили поиск по сообществу, который можно сделать здесь: http://blogs.yandex.ru/form... достаточно очевидно: всего три шага, в результате которых вы получите форму поиска по сообществу.

Вместо поиска по сообществу в нижней ячейке можно поместить список постов меню с выпадающими ссылками.
О том, как сделать такой список, рассказывала в этом посте

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

<table border="0" cellspacing="0" cellpadding="2" align="center"><tr><td colspan=3><font style="display:block; width:600px;height:26px; border:1px solid #0097D8; background:#08B0F1 url(http://content.foto.mail.ru...); border-radius:3px;padding:20px;"><text size="6" color="06448F" face="Arial Narrow">PRO COMP</text> <text size="5" color="ffffff">компьютер - это просто</text></font></td></tr><tr><td><font style="display:block; width:202px;height:22px; border:1px solid #0097D8; background:#08B0F1 url(http://content.foto.mail.ru...); border-radius:3px;padding:4px;"><a href="http://my.mail.ru/community..."><center><text size="3,5">Безопасность</text></center></a></font></td><td><font style="display:block; width:202px;height:22px; border:1px solid #0097D8; background:#08B0F1 url(http://content.foto.mail.ru...); border-radius:3px;padding:4px;"><a href="http://my.mail.ru/community..."><center><text size="3,5">Компьютер</text></center></a></font></td><td><font style="display:block; width:202px;height:22px; border:1px solid #0097D8; background:#08B0F1 url(http://content.foto.mail.ru...); border-radius:3px;padding:4px;"><a href="http://my.mail.ru/community..."><center><text size="3,5">Интернет</text></center></a></font></td></tr><tr><td colspan=3><font style="display:block; width:632px;height:32px; border:1px solid #0097D8; background:#08B0F1; border-radius:3px;padding:4px;"><form action="http://blogs.yandex.ru/sear..."><input name="form-type" value="community" type="hidden"><input name="feed_id" value="830746677" type="hidden"><table style="" cellspacing="1"><tbody><tr><td style=""><text size="3,5"><text color="06448F"> Поиск по сообществу </text></text></td><td style=""><input size="25" name="text"></td><td style=""><input value="Найти" type="submit"></td><td style=""><div><input value="comments" name="type_comments" checked="checked" type="checkbox"> по комментариям</div></form></font></td></tr></table>


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