HTML and CSS

HTML and CSS

{Лаборатория экстремальной web-верстки...}

Универсальная всплывающая подсказка

Универсальная всплывающая подсказка

Как сказано в P.S. предыдущего поста, OPERA по-разному понимает связку position:relative; -> position:absolute; для блочных и строчных элементов.

Вам предлагается, новый вариант всплывающей подсказки, с легкой претензией на универсальность для браузеров: FF (все из семейства Mozilla), OPERA, IE6(7), в других нет возможности проверить, экзотику не стоит брать в расчет.

Собственно говоря, ничего нового, абсолютное позиционтрование для блоков, OPERA, OPERA, как все было прекрасно в предыдущем варианте, увы ...

Тест. Всплывающая подсказка. Наведите курсор мыши на mouseower to comment, находится ниже.

mouseower to comment Данный метод позволяет организовать всплывающую подсказку в IE 6. В принципе, ничего сложного, размеры минимальны.
mouseower to comment Работает в браузерах:

  • Mozilla 1.7
  • FF
  • SeaMonkey 1.xx
  • Netscape 8.1
  • OPERA 9.20
  • IE 6
  • IE 7

Для IE 6, используется файл hover.htc

Файл hover.htc для IE 6

<attach for=element event=onmouseover handler=lasto>
<attach for=element event=onmouseout handler=gordi>
<script> 
function lasto(){element.className='hover';} function gordi(){element.className='';} </script>
mouseower to comment Ниже находящиеся указатели на всплывающую подсказку, помечены другим цветом, можно располагать в любой части вашей web-страницы, используя несколько не хитрых правил, вы получите псевдодинамику на основе псевдокласса :hover для браузеров FireFox, OPERA, IE7, а так же с помощью эмулятора данного псевдокласса для IE6

Решены, если не все, то основные проблемы и препятствия данного метода организации всплывающей подсказки, как оказалось в очень кривом браузере OPERA, речь идет не о функционале, а о не адекватной поддержке CSS, чему было посвящено исследование предыдущего поста.

Теперь чуть более подробно, какие шаги необходимо сделать, чтобы с полной отдачей использовать предложенный метод. При наведение курсора мыши Чаще используйте возможности горячих клавиш, этим Вы экономите массу времени. Овладевайте слепой десяти пальцевой печатью на клавиатуре, есть огромное количество клавиатурных тренажеров. Практика и только практика поможет Вам в этом увлекательном процессе;-) на указатель всплывающей подсказки, появляется всплывающий слой несущий ту или иную информацию. В общем случае css/html выглядит приблизительно так:

css

<style type="text/css">
.tp {position:relative;text-indent:0;}
.tp b {
   border-bottom:#90f 1px dotted;
   color:#90f;
   cursor:help;
   font-weight:normal;
}
.tp b span {display:none;}
/*-- для FF, OPERA, IE7 --*/
.tp b:hover {
   border-bottom:red 1px dotted;
   color:red;
}
.tp b:hover span {
   background:lightcyan;
   border:silver 2px outset;
   color:#000;
   display:block;
   padding:7px;
   position:absolute;
   top:2px;
   left:5px;
   z-index:10;
   text-align:left;
   width:250px;
}
</style>

<!--[if IE 6]>
<style type="text/css">
.tp b {behavior:url(hover.htc);}
.tp .hover {
   border-bottom:red 1px dotted;
   color:red;
}
.tp .hover span {
   background:lightcyan;
   border:silver 2px outset;
   color:#000;
   display:block;
   padding:7px;
   position:absolute;
   top:2px;
   left:5px;
   z-index:10;
   text-align:left;
   width:250px;
}
</style>
<![endif]-->

html

<p class="tp" style="z-index:7;">
Просто текст<br>
<b>display:inline-block;<span style="left:130px;">
Это значение генерирует блочный элемент, который обтекается другими
элементами веб-страницы подобно встроенному элементу. Фактически
такой элемент по своему действию похож на встраиваемые элементы
(вроде тега <IMG>). При этом его внутренняя часть форматируется
как блочный элемент, а сам элемент — как встроенный.</span></b> -
еще не много текста.</p><br>

<p class="tp" style="z-index:6;">
Текст - много, много текста
<b>указатель<span style="left:150px;">всплывающий
слой</span></b>продолжение того о чем вы хотите сказать.</p>


Стили заданы по умолчанию, сокращение .tp от tooltips post.
Селектор {свойство1:аргументы;свойство2:аргументы;}

Меняя значения аргументов, вы можете настроить оформление указателя и всплывающего слоя по своему желанию. Позиционирование вплывающей подсказки производится в html, это в основном касается z-index:XX;значение этого аргумента, должно быть меньше для ниже находящегося параграфа или блока, в котором вы размещаете всплывающую подсказку, позволяет избежать просвечивания через всплывающий слой, указателя на всплывающую подсказку, который может оказаться перекрытым в параграфе и left:XXpx; top:XXpx; данными аргументами позиционируется всплывающий слой относительно указателя, что при грамотном применении, позволяет обойтись без JavaScript, отображая всплывающую подсказку в нужное место, избегая попадания оной в не видимую часть для <span>...</span>, есть возможность, внеся не большую коррекцию, улучшить читаемость текста всплывающей подсказки при отключенных стилях. Если, кому-то требуется, через комментарии, выложу описание.

Многие решения на JavaScript, часто используют для всплывающей подсказки "title" это с одной стороны все упрощает, а с другой стороны, нет возможности во всплывающем слое пользоваться ссылкой, в данном случае такая возможность имеетсястоит проверить ;-) ну как?.

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


RSS лента ВСЕГО блога с комментариями RSS лента ВСЕГО блога БЕЗ комментариев RSS лента этой КАТЕГОРИИ с комментариями RSS лента этой КАТЕГОРИИ и БЕЗ комментариев RSS лента ЭТОГО ПОСТА с комментариями к нему



Прыг: 83 84 85 86 87 88 89 90 91 92
Скок: 10 20 30 40 50 60 70 80 90
English German French Spanish Italian Japanese
  • Programming V. Lasto
  • Designer S. Gordi
  • Created in 0,02076 seconds
  • © 2007-2010