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

Тема в разделе "HTML, CSS, XML, JavaScript", создана пользователем root-of-CT, 7 мар 2007.

Статус темы:
Закрыта.
  1. root-of-CT

    root-of-CT Гость

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

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

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

    Жыр! :(
    Спасибо что выложил.
     
  3. Artexoid

    Artexoid Гость

    Для: root-of-CT

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

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

    root-of-CT Гость


    Вы правы на 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
     
  5. Artexoid

    Artexoid Гость

    Для: root-of-CT

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

Поделиться этой страницей