Xpoint
   [напомнить пароль]

как активировать нижний слой?

Метки: [без меток]
2009-07-08 10:54:54 [обр] Agar -Agar(0/68)[досье]

На странице идет основная часть, для центровки вложенная в таблицу 100%-й ширины. После основной части идет слой с индексом меньше, тоже в виде таблицы шириной 100%, по высоте совпадающий с таблицей основной части. В этом слое — подложке, загружаемой позже, видимые элементы вынесены вправо, в то время как в основной части в этом месте пустая ячейка с распоркой. Н-да, витеевато объяснил. Короче, основную часть могу выделять и кликать там по ссылкам, в слое же все в виде фона, работать с текстом нельзя. Как обмануть сие? На ум приходит только бредовая идея отслеживать Ява-скриптом, в какой части таблицы (ячейке) находится указатель мышки и менять по этому событию z-index. Есть ли другие пути?

Код в упрощенном варианте:

<HTML>
<BODY leftmargin=0 rightmargin=0 topmargin=0 marginheight="0" marginwidth="0">


<!-- ОСНОВНАЯ ЧАСТЬ -->
<center>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr>


<td width=100% bgcolor=cccccc>

   Основная часть, попробуйте выделить.
   <br>
   <br>
   <!-- текстовая распорка -->
      <table width=670 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>

<td width=200>
   <!-- текстовая распорка -->
      <table width=200 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>


</tr>
</table>
</center>
<!-- КОНЕЦ ОСНОВНОЙ ЧАСТИ -->



<!-- МЕНЮ СПРАВА -->
<center>
<table cellpadding=0 cellspacing=0 border=0 style="position:absolute;z-index:-1;width:100%;top:0;left:0">
<tr>


<td width=100%>
   <!-- текстовая распорка -->
      <table width=670 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>

<td width=200 bgcolor=ffcccc>
Меню справа, попробуйте выделить
   <br>
   <br>
   <!-- текстовая распорка -->
      <table width=200 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>


</tr>
</table>
</center>
<!-- КОНЕЦ МЕНЮ СПРАВА -->

</BODY>
</HTML>
спустя 27 минут [обр] Филипп Ткачев(0/115)[досье]
А может стоит избавиться от подложки? А фоновую подгрузку сделать через Ajax.
А переключение сделать манипуляцией с содержимым правой ячейки.
спустя 17 минут [обр] Agar -Agar(0/68)[досье]

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

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

Как сделал:

<HTML>
<BODY leftmargin=0 rightmargin=0 topmargin=0 marginheight="0" marginwidth="0">


<!-- ОСНОВНАЯ ЧАСТЬ -->
<center>
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr>


<td width=100% bgcolor=cccccc>

   Основная часть, попробуйте выделить.
   <br>
   <br>
   <!-- текстовая распорка -->
      <table width=670 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>

<td width=200 onmouseover="document.getElementById('menue_sprava').style.zIndex=2">
   <!-- текстовая распорка -->
      <table width=200 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>


</tr>
</table>
</center>
<!-- КОНЕЦ ОСНОВНОЙ ЧАСТИ -->



<!-- МЕНЮ СПРАВА -->
<center>
<table id="menue_sprava" cellpadding=0 cellspacing=0 border=0 style="position:absolute;z-index:-1;width:100%;top:0;left:0">
<tr>


<td width=100% onmouseover="document.getElementById('menue_sprava').style.zIndex=-1">
   <!-- текстовая распорка -->
      <table width=670 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>

<td width=200 bgcolor=ffcccc>
Меню справа, попробуйте выделить
   <br>
   <br>
   <!-- текстовая распорка -->
      <table width=200 height=1 cellpadding=0 cellspacing=0 border=0><tr><td></td></tr></table>
   <!-- конец распорки -->
</td>


</tr>
</table>
</center>
<!-- КОНЕЦ МЕНЮ СПРАВА -->

</BODY>
</HTML>

спустя 12 минут [обр] Agar -Agar(0/68)[досье]

Лучше поставить onmouseout на ячейку, а то перейти ведь возможно не только на основную часть и меню, а в шапку и еще куда.

<td width=200 bgcolor=ffcccc onmouseout="document.getElementById('menue_sprava').style.zIndex=-1">
Меню справа, попробуйте выделить

Ячейкой левее обработчик убрать.

спустя 53 минуты [обр] Филипп Ткачев(0/115)[досье]
Agar -Agar[досье], при всем уважении, может стоит освоить блочную верстку? Грузится быстрее, кода меньше. Да и очередность загрузки можно организовать более эффективную. А таблицы имеют свойство быть не показанными, пока загрузка не завершена.
спустя 52 минуты [обр] Agar -Agar(0/68)[досье]
У меня жесткие требования: никаких наползаний слоев друг на друга и минимизации ширины до одного слова, частично резиновый дизайн, удобство распечатки без версии для печати (при этом на печати не должно быть ничего лишнего — рекламы, меню и пр.), максимальная скорость загрузки (заголовок статьи — первый абзац статьи — второй абзац статьи ... — последний абзац статьи — меню справа — меню шапки (навигация состояния) — дизайн шапки — логотип шапки — подвал — счетчики — реклама), Все компонуется на стороне сервера из статей и разделов, внесенным пользователем через CMS, уровень вложенности неограничен, возможность работы с отключенной графикой, без поддержки JS, одинаковое отображение для всех браузеров, возможность сохранения страницы из всех браузеров. Короче, не видел еще чисто слоистый резиновый дизайн, чтобы работал с такими условиями. Мне кажется, без таблиц и текстовых распорок такое ну ни как не сделать. Причем базовая часть, т.е. фоновая таблица позиционирования должна идти для основной части и меню одинаковая. А если и можно сделать это на слоях, то CSS будет с такими наворотами, что в итоге окажется тяжелее таблиц, да и браузеры некоторые откажутся сохранять такие страницы. ИМХО. Конечно, можно экспериментировать. Я раз попробовал блочной верской сверстать сложную структуру с жесткими требованиями. Месяц потратил и в итоге забросил как бесперспективный вариант. Но это тема отдельного разговора. На форуме переодически вспыхивают войны по этому поводу.
спустя 48 минут [обр] Филипп Ткачев(0/115)[досье]
Да, с наплыванием блоков друг на друга и резиновостью в блочной верстке есть проблемы.
Powered by POEM™ Engine Copyright © 2002-2005