интересное решение для Dhtml меню

  • Автор темы root-of-CT
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

root-of-CT

#1
предлагаю посмотреть dhtml меню
- весит всего 2kb
- легко разобраться
- еще много очень интересного внутри …

смотреть здесь http://crystalteam.net

P.S. Сразу хочу отметить один нюанс. Если вы #амер (ни кого
не хочу обидеть...) и пример вам не понравился, то вероятнее всего вы
выразите здесь свое недовольство, мол, ничего интересного [слишком
простое]. Однако если вы действительно когда-нибудь пробовали
самостоятельно создать более менее стоящее меню, то, посмотрев данное
решение вы найдете много интересной "вкуснятины" ...
 
A

Artexoid

#3
Для: root-of-CT

Меню просто отличное! Спасибо большое.

Есть одна заметочка :(. IE6 (5-1 и 7-й не пробовал) относительно остальных браузеров (или наоборот) позиционирует divы немного со смещением +1 top и -1 left. Получается небольшая кось которая вроде бы совсем небольшая, но на нервы действует :). Думаю нужно добавить ф-цию для проверки браузера. Если IE делать соответствующие смещения.
 
R

root-of-CT

#4
Есть одна заметочка smile.gif. IE6 (5-1 и 7-й не пробовал) относительно остальных браузеров (или наоборот) позиционирует divы немного со смещением +1 top и -1 left. Получается небольшая кось которая вроде бы совсем небольшая, но на нервы действует smile.gif. Думаю нужно добавить ф-цию для проверки браузера. Если IE делать соответствующие смещения.

Вы правы на 100%. Действительно некоторые браузеры считают стандарты w3с второсортными (как правило это ie и Opera, хотя последние версии оперы стали больше уважать общепринятые правила).
В меню для позиционирования применяется clientWidth и clientHeight родительского блока. Согласно стандарту clientWidth и clientHeight вычисляются совместно с величиной границы (border) которая в свою очередь задается стилями.
Если границы нет, то clientWidth и clientHeight принимает реальный размер блока.
Если блоки позиционируются немного с запланированным смещением (-5 пикселов к примеру), то такой ситуации особо не заметно.
Вы посоветовали определять браузер и делать коррекцию, однако ie в данном случае ведет себя идеально, а вот Opera как раз и не может корректно делать пересчет (это и не удивительно, т.к. ее движок неоднократно переписывался). Так как опера себя часто идентифицирует как ie (в большинстве случаев), сделать это не представляется возможным. Единственный выход - это перенести бордюр с блоков на ссылки:
.menublock {border: 1px solid red}
.menublock A {border: 0}

изменить на:
.menublock {border: 0}
.menublock A {border: 1px solid red}


P.S. когда я проверял это меню в Gran Paradiso (FireFox 3) возникала аналогичная ситуация и я им отправил сообщение со ссыдкой:
Пример был тут http://crystalteam.net/BUGS/GP-paddingBug.html
 
A

Artexoid

#5
Для: root-of-CT

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