Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Верстка меню
 
 автор: Richard Ferlow   (14.08.2008 в 12:51)   письмо автору
12 Кб
 
 

В аттаче рисунок меню. Там показано, что должно происходить при наведении.

Набрано меню шрифтом Tahoma.

Вопрос собственно в чем - как средствами CSS такое реализовать.

Квадратные блоки я знаю как сделать чтобы так выделялись при наведении, но, как быть с верхними и нижними пунктами, как-то можно придумать универсальный вариант, несмотря на закругления ?

Окаймляющую рамку с закруглениями быть может можно как-то поверх всего этого наложить ?

  Ответить  
 
 автор: DDK   (14.08.2008 в 13:05)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 12:51)
 

каждая строка меню - это ячейка таблицы. Для средних ячеек - один фон. Для верхней и нижней - отдельно две фоновые картинки.

  Ответить  
 
 автор: Richard Ferlow   (14.08.2008 в 13:15)   письмо автору
 
   для: DDK   (14.08.2008 в 13:05)
 

Т.е. сделать все таки так, в итоге 6ть рисунков получится нужно сделать ? - три вида неактивных и три вида активных. А иной способ есть ?

  Ответить  
 
 автор: sim5   (14.08.2008 в 13:32)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 13:15)
 

А зачем так много, хватит на каждый пункт меню и по одной картинке, если у верхнего элемента свой класс стиля, у нижнего свой, и у средних свой, один на всех.

  Ответить  
 
 автор: Richard Ferlow   (14.08.2008 в 13:45)   письмо автору
 
   для: sim5   (14.08.2008 в 13:32)
 

А как закругления в стилях обработать ? Там ведь чуть иначе выглядит.

  Ответить  
 
 автор: DDK   (14.08.2008 в 13:39)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 13:15)
 

всего 3 рисунка. С учётом того, что они должны будут менять при наведении - получится 6. Графика там простая, поэтому весить они будут по пол килобайта каждый, что несущественно. А если еще воспользоваться скриптом предзагрузки картинок (preload), то должно получиться без лагов вообще.

  Ответить  
 
 автор: Richard Ferlow   (14.08.2008 в 13:46)   письмо автору
 
   для: DDK   (14.08.2008 в 13:39)
 

Вот тоже об этом варианте думаю, но вдруг подскажут иной. Этот мне не очень нравится.

  Ответить  
 
 автор: DDK   (14.08.2008 в 13:52)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 13:46)
 

Лучший вариант - на флеше c XML управлением контентом :-D

  Ответить  
 
 автор: Richard Ferlow   (14.08.2008 в 13:53)   письмо автору
 
   для: DDK   (14.08.2008 в 13:52)
 

Не соглашусь. Поисковики у нас до сих пор по флэш ссылкам не ходят вроде, да и пользователям лишний траффик гнать.
Так что вариант скорее не лучше, а красивее :)

  Ответить  
 
 автор: mihdan   (15.08.2008 в 17:04)   письмо автору
 
   для: DDK   (14.08.2008 в 13:52)
 

Это вообще бред-какой флеш, когда тут html+css

  Ответить  
 
 автор: sim5   (14.08.2008 в 14:09)   письмо автору
 
   для: DDK   (14.08.2008 в 13:39)
 

Даже с учетом наведения, всего три рисунка.

  Ответить  
 
 автор: Richard Ferlow   (15.08.2008 в 09:29)   письмо автору
 
   для: sim5   (14.08.2008 в 14:09)
 

Не могли бы хотя бы на словах пояснить тогда как ?

Я минимум 4ре придумал. три на наведение и один - общий фон меню =)

  Ответить  
 
 автор: sim5   (15.08.2008 в 10:39)   письмо автору
 
   для: Richard Ferlow   (15.08.2008 в 09:29)
 

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

  Ответить  
 
 автор: mihdan   (15.08.2008 в 17:03)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 12:51)
 

Увидел в примере только одну картинку(стрелку), остальное css
Предлагаю верстать валидно и семантично, не используя таблиц, там где не нужно
Меню-список ссылок поэтому верстайте при помощи списков


<ul>
   <li><a href="#">Один</a></li>
</ul> 

  Ответить  
 
 автор: sim5   (15.08.2008 в 17:13)   письмо автору
 
   для: mihdan   (15.08.2008 в 17:03)
 

CSS уже картинки рисует?

  Ответить  
 
 автор: mihdan   (15.08.2008 в 17:34)   письмо автору
 
   для: sim5   (15.08.2008 в 17:13)
 

И где вы увидели столько картинок-я вижу одну-стрелку
Остальное можно сделать при помощи css

сходите http://www.alistapart.com/, http://www.cssplay.co.uk/ и станет ясно

  Ответить  
 
 автор: sim5   (15.08.2008 в 17:55)   письмо автору
 
   для: mihdan   (15.08.2008 в 17:34)
 

И что там смотреть, горизонтальное меню на этой странице?

  Ответить  
 
 автор: mihdan   (15.08.2008 в 18:08)   письмо автору
 
   для: sim5   (15.08.2008 в 17:55)
 

Да вы сайт то почитайте

  Ответить  
 
 автор: sim5   (15.08.2008 в 18:16)   письмо автору
 
   для: mihdan   (15.08.2008 в 18:08)
 

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

  Ответить  
 
 автор: mihdan   (15.08.2008 в 19:00)   письмо автору
 
   для: sim5   (15.08.2008 в 18:16)
 

Рассмотрел отлично, но все равно не могу понять в чем проблема.
Скруглить угол
Добавить фон для блока со сглаженными углами

Что там еще?

  Ответить  
 
 автор: mihdan   (15.08.2008 в 19:02)   письмо автору
 
   для: Richard Ferlow   (14.08.2008 в 12:51)
 

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

  Ответить  
 
 автор: Richard Ferlow   (18.08.2008 в 00:27)   письмо автору
 
   для: mihdan   (15.08.2008 в 19:02)
 

Да, боюсь, все равно спорить найдется о чем :)

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

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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования