Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2007, 15:12
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

Баг в ФФ с z-index?
Собственно страница:
<html>
<head><title>title</title></head>
<body style="margin:0px;padding:0px;">
<div style="background:#aaa;width:100px;height:100px;z-index:100;">
    <div style="background:#555;width:100px;height:100px;left:3px;top:3px;position:absolute;z-index:-1;"></div>
</div>
</body>
</html>

На ИЕ и опере получаем ожидаемый результат - "тень"
ФФ - просто не отображает второй див.
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2007, 15:20
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

На самом деле это не баг.

Просто в Firefox у body стоит z-index:0, и поэтому у тебя body перекрывает фон с индексом -1.

Фон оказывается за body.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2007, 15:21
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

тоже не так
У родительского дива z-index=100
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2007, 15:29
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Сделай z-index:0 вместо -1. Относительная позиция не изменится, а разницу увидишь сразу :/
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2007, 15:35
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

z-index=0
во всех браузерах одинаково...
одинаково неправильно
т.е. правильно - второй див прорисовался поверх первого, но мне нужно подложить второй под первый.
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2007, 15:38
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

предложили/показали еще одну фишку:
если первому диву задать position:absolute, то ФФ начинает показывать, ИЕ с оперой начинают глючить.
Ответить с цитированием
  #7 (permalink)  
Старый 13.06.2007, 15:55
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Вот ссылка в тему
http://phoenity.com/newtedge/drop_shadow/

вот пример решения
<html>
<head><title>title</title></head>
<body style="margin:0px;padding:0px;">
<div id="Layer1" style="position:absolute; left:15px; top:15px; width:400px; height:200px; z-index:1; background-color: #000066; layer-background-color: #000066; border: 1px solid #000000;"></div>
<div id="Layer2" style="position:absolute; left:10px; top:10px; width:400px; height:200px; z-index:2; background-color: #0099FF; layer-background-color: #0099FF; border: 1px solid #000000;"></div>
</body>
</html>


Правда, тут абсолютные дивы...
Ответить с цитированием
  #8 (permalink)  
Старый 13.06.2007, 16:09
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

проблема в том, что они не вложены. с ними неудобно работать.
Зато теперь я умею создавать страницы, которые по разному отображаются в этих браузерах:
<html>
<head><title>title</title>
<style type="text/css">
* {
    margin: 0;
    padding: 0;
}
#div1 {
    background-color: #AAAAAA;
    width: 100px;
    height: 100px;
    left: 0px;
    top: 0px;
    z-index: 0;
}

#div2 {
    background-color: #555555;
    width: 100px;
    height: 100px;
    left: 3px;
    top: 3px;
    position: absolute;
    z-index: -1;
}
</style>
</head>
<body>
<div id="div1">
    <div id="div2"></div>
</div>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 14.06.2007, 11:18
Аватар для skl
skl skl вне форума
Новичок на форуме
Отправить личное сообщение для skl Посмотреть профиль Найти все сообщения от skl
 
Регистрация: 07.06.2007
Сообщений: 2

ребята, не ссорьтесь =)
это глюк файрфокс -
бедолага не умеет работать с отрицательными значениями
z-index.
из-за лисы выставляем только положительные значения скажем 1 и 2 )
Ответить с цитированием
  #10 (permalink)  
Старый 14.06.2007, 11:52
Новичок на форуме
Отправить личное сообщение для boda2004 Посмотреть профиль Найти все сообщения от boda2004
 
Регистрация: 07.06.2007
Сообщений: 8

Все лисица умеет
<html>
<head><title>title</title>
<style type="text/css">
* {
    margin: 0;
    padding: 0;
}
#div1 {
    background-color: #AAAAAA;
    width: 100px;
    height: 100px;
    left: 0px;
    top: 0px;
    position: absolute;
    z-index: 0;
}
                                                
#div2 {
    background-color: #555555;
    width: 100px;
    height: 100px;
    left: 3px;
    top: 3px;
    position: absolute;
    z-index: -1;
}
</style>
</head>
<body>
<div id="div1">
<div id="div2"></div>
</div>
</body>
</html>

Скажу больше, она ведет себя правильно. z-index работает только для спозиционированных элементов: http://www.w3schools.com/css/pr_pos_z-index.asp
Поясню: в первом моем посте я не спозиционировал "родительский" див, поэтому z-index там просто проигнорировался, затем (вот тут начинается специфика ФФ) второй див с отрицательным z-index благополучно ушел под body.
Однако не все так радужно:
опера и ИЕ дружно отказались понимать корректную(?) форму.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пофиксен баг со входом в сайт Илья Кантор Сайт Javascript.ru 38 07.04.2013 16:10