Opera9, CSS, глюки
.onecrumb .dropDownContainer {
position:absolute;
display:none;
}
.onecrumb:hover .dropDownContainer {
display:block;
width:200px;
right:-170px;
top:100%;
border:solid 2px red;
}
В опере 9.1 не помогло. 9.0 - тоже. 9.24 под рукой нет.
Вывод - надо дать понять опере, что надо перерисовать всё содержимое .onecrumb
У меня заработал вот такой хак в опере:
.onecrumb {
position:relative;
min-width:0px;
display:inline-block;
}
.onecrumb .dropDownContainer {
position:absolute;
display:none;
width:200px;
right:-170px;
top:100%;
border:solid 2px red;
overflow: show;
}
.onecrumb:hover .dropDownContainer {
display:block;
}
.onecrumb:hover {
position: absolute;
display: block;
}
.onecrumb:hover {Ты ничего не перепутал? У .onecrumb position:relative и display:inline-block.
position: absolute;
display: block;
}
Что именно нужно поменять в самом первом варианте, по-твоему?
ЗЫ: Самый первый вариант, навёл мышь, AltTab, AltTab обратно - те же глюки.
Вообще, такое ощущение, что область для dropDownContainer она выделяет правильно, вот только содержимое рисует с большим сдвигом, соответственно, часть содержимого в выделенную область не попадает и обрезается.
Смысл в том, чтобы заставить оперу перерисовать контент. Положение блоков по идее меняться не должно.
У меня так всё работает в последней опере (9.24).Как именно?
Потому что у тебя там опечатка, ты делаешь position:absolute на сам .onecrumb, а не на .dropDownContainer.
PS. dropDownContainer не получается заставить перерисовать своё содержимое, т.к. менять position у него мы не можем, а других способов я не знаю. Поэтому заставлем перирисовываться его родителя со всем содержимым.
Я тут запостил корректный код, спрашиваю, почему он не работает в опере9 - а ты мне предлагаешь полностью изменить его. "У меня в винде не получается открыть .avi, что сделать? - Поставить линукс".
Ставить на .onecrumb position:absolute - никоим боком не решение, потому что в родительском блоке не только этот один лежит.
PS. Вообще проблема в том, что опера не верно понимет inline-block, из-за чего неверно позиционирует dropDownContainer и не перерисовывает его фрагмент. Можешь поменть inline-block на inline и всё будет работать. Может имеет смыс поиграться с другими аттрибутами, чтобы невилировать влияние от inline-block
Если у остальных блоков position relative, то по идее ничего сдвинуться не должноВообще-то, в родительский блок напихана куча таких вот .onecrumb
Вообще проблема в том, что опера не верно понимет inline-blockО, а вот об этом я и не подумал.
Но почему она его начала неверно понимать только в 9 версии?
Но почему она его начала неверно понимать только в 9 версии?патамушта там движок был новый
[off]первая тысяча [/off]
Оставить комментарий
kruzer25
В опере8, 8.5, ие7, фф работает так, как и ожидается. В опере 9.5 - почти так, как ожидается (хоть и с глюками). А в опере 9.0, 9.1, 9.24 - через жопу.
Опера 9.1 при наведении мыши на "Hover me":
Опера 9.1, если в .onecrumb .dropDownContainer display:none поменять на display:block - всё правильно:
ИЕ7 при наведении мыши:
ФФ2.0.0.9 при наведении мыши:
Опера 8.5 при наведении мыши (в ней не работает top:100%? Ладно, это уже потом):
Опера 9.5 при наведении мыши (глюки, о которых я говорил, появляются уже на других вещах, которых в этом примере нет, но они некртичны):