• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

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

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

root-of-CT

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

смотреть здесь

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

Artexoid

Для: root-of-CT

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

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

root-of-CT

Есть одна заметочка 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) возникала аналогичная ситуация и я им отправил сообщение со ссыдкой:
Пример был тут
 
A

Artexoid

Для: root-of-CT

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!