Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > HTML и CSS
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 19:41   #1
Viconte
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 40
Вопрос Меню "Вкладки"

Добрый день!
Столкнулся с задачей сверстать меню с вкладками:
menu.png

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

PS. Идея была использовать три картинки меню с разными выбранными вкладками и на картинку просто повесить map, но может проще можно сделать?
Viconte вне форума Ответить с цитированием
Старый 26.11.2012, 03:02   #2
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

map/svg/canvas. Ну и еще встраиваемые плагины типа флеша и сильвы. Других вариантов нет.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 26.11.2012, 08:46   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

CSS + JS можно
ADSoft вне форума Ответить с цитированием
Старый 26.11.2012, 09:17   #4
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

трансформ и фильтр-матрица
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 26.11.2012, 11:08   #5
Viconte
Пользователь
 
Регистрация: 31.08.2010
Сообщений: 40
По умолчанию

Благодарю за Ваши ответы, но можно привести маленький пример или на словах алгоритм как сделать это на том же CSS + JS ?

Мой алгоримт таков:
1) Сделать спрайт из трех меню, на каждом меню одна активная кнопка;
2) Сделать три карты ссылок для каждого меню;
3) Создать прозрачное изображение по размеру меню;
4) Поставить bacground первого меню из спрайта;
5) Подключить карту ссылок для первого меню;
6) При клике по вкладке - менять background на соответствующее меню из спрайта и подключать соответствующую карту ссылок;

Мне кажется это далеко не самый лучший вариант.

Сделать спрайт из трех меню, на каждом меню одна активная кнопка, сделать изображение прозрачное и повестить на него background
Viconte вне форума Ответить с цитированием
Старый 26.11.2012, 12:21   #6
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
CSS + JS можно
Это невероятно затратно, если возложить всю логику на JS. Придется вручную описывать возможные положения курсора для абсолютно каждого элемента, а там их будет тьма тьмущая.
Цитата:
трансформ и фильтр-матрица
Как создать трапецию таким образом?
Цитата:
алгоритм как сделать это на том же CSS + JS ?
Ну это мазохизм.

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

Последний раз редактировалось MyLastHit; 26.11.2012 в 12:26.
MyLastHit вне форума Ответить с цитированием
Старый 26.11.2012, 12:35   #7
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

можно трапецию сделать с помощью css3

так что css3 + JS для задания состояний - оптимально
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 26.11.2012, 12:40   #8
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
можно трапецию сделать с помощью css3
Пример кликабельной трапециедальной области на css3 покажите. Саму трапецию сделать просто, не спорю, а вот чтобы кликабельной была только область трапеции - это не представляю как сделать через трансформации. + не забывать о том что внутри тоже есть текст и его переколбасит.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 26.11.2012, 12:41   #9
masax
Форумчанин
 
Регистрация: 01.10.2008
Сообщений: 248
По умолчанию

http://demo.guluzade.com/trapezium.html
пойдет?

заменить <div> на <a style="display:block"> в примере

// лень писать свое)
Контакты
skype, почта: bm@kwax.ru
masax вне форума Ответить с цитированием
Старый 26.11.2012, 15:48   #10
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
Пример кликабельной трапециедальной области на css3 покажите. Саму трапецию сделать просто, не спорю, а вот чтобы кликабельной была только область трапеции - это не представляю как сделать через трансформации. + не забывать о том что внутри тоже есть текст и его переколбасит.
Рисовал в фаербаге, поэтому не кроссбраузерно и не оформлено. Сделал для копипаста в фаербаг для проверки.
Код:
<div style="overflow: hidden; visibility: hidden; width: 17em;"><div style="overflow: hidden; visibility: hidden; transform: matrix(1, 0, 1, 1, -26, 0);"><div style="background: none repeat scroll 0% 0% rgb(0, 0, 0); color: rgb(255, 255, 255); font-size: 2em; visibility: visible; padding: 10px 10px 10px 30px; transform: matrix(1, 0, -1, 1, 27, 0); cursor: pointer;">
  hello world!  
</div></div></div>
Получите, распишитесь.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать класс "Фигура", от него наследованием создать 3 класса ("треугольник", "четырехугольник", "окружность") funnyy Помощь студентам 3 17.10.2012 17:40
Вывести название соответствующей карты вида "шестерка бубен", "дама червей","туз треф" и т.п. воваава Помощь студентам 3 01.12.2011 12:50
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04