Jump to content
  • 0

z-index. Как же быть?


aad
 Share

Question

Здравствуйте!

Появилась интересная задача со свойством z-index.

На сайте есть выпадающее меню (JS), и без применения этого свойства, выскакивающая менюшка попадает в аккурат под слой в котором висит основной контент сайта в браузерах IE6-7.

Чтобы пофиксить етот злощщастный баг мне посоветовали заюзать z-index. На меню значит поставили максимальное значение. а на слой с контентом -1, потому что если поставишь 0, то в осле проблема не исчезает. И взаправду в осликах проблема решилась.

Заглянул в оперу, а там исчез контент. Потому что

Хотя спецификация и разрешает использовать отрицательные значения z-index, но такие элементы не отображаются в браузерах Netscape, Mozilla и Firefox.

У каво какие будут мнения?

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Может так попробовать!

В файле JSCookMenu.js в функции

function cmDrawSubMenu (subMenu, prefix, id, orient, nodeProperties)
{
var str = '<div class="' + prefix + 'SubMenu" id="' + id + '"><table summary="sub menu" cellspacing="' + nodeProperties.subSpacing + '" class="' + prefix + 'SubMenuTable">';
var strSub = '';

var item;
var idSub;
var hasChild;

var i;

var classStr;

for (i = 5; i < subMenu.length; ++i)
{
item = subMenu[i];
if (!item)
continue;

if (item == _cmSplit)
item = cmSplitItem (prefix, 0, true);

hasChild = (item.length > 5);
idSub = hasChild ? cmNewID () : null;

str += '<tr class="' + prefix + 'MenuItem"';
if (item[0] != _cmNoClick)
str += cmActionItem (item, prefix, 0, idSub, orient, nodeProperties);
else
str += cmNoClickItem (item, prefix, 0, idSub, orient, nodeProperties);
str += '>'

if (item[0] == _cmNoAction || item[0] == _cmNoClick)
{
str += cmNoActionItem (item, prefix);
str += '</tr>';
continue;
}

classStr = prefix + 'Menu';
classStr += hasChild ? 'Folder' : 'Item';

str += '<td class="' + classStr + 'Left">';

if (item[0] != null)
str += item[0];
else
str += hasChild ? nodeProperties.folderLeft : nodeProperties.itemLeft;

str += '</td><td class="' + classStr + 'Text">' + item[1];

str += '</td><td class="' + classStr + 'Right">';

if (hasChild)
{
str += nodeProperties.folderRight;
strSub += cmDrawSubMenu (item, prefix, idSub, orient, nodeProperties);
}
else
str += nodeProperties.itemRight;
str += '</td></tr>';
}

str += '</table></div>' + strSub;
return str;
}

//
// The function that builds the menu inside the specified element id.
//
// @param id id of the element
// orient orientation of the menu in [hv][ab][lr] format
// menu the menu object to be drawn
// nodeProperties properties for each menu node

в строке

var str = '<div class="' + prefix + 'SubMenu" id="' + id + '"><table summary="sub menu" cellspacing="' + nodeProperties.subSpacing + '" class="' + prefix + 'SubMenuTable">';

добавить такую строчку в диве

style="z-index:500"
Link to comment
Share on other sites

  • 0

могу посоветовать только ставить родительским элементам соответствующие индексы, пока не дойд?шь до рядомстоящих пример:

<tr>
<td style="z-index:1;">
<div style="z-index:1;">тут меню</div>
</td>
<td style="z-index:0;">
<div style="z-index:0;">тут контент</div>
</td>
</tr>

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy