Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Вёрстка веб-сайтов > Выпадающее меню заезжающее под поля формы


Автор: dimcat 26.2.2008, 13:08
Посмотрите какая бодяга получается при выпадании меню (картинка в прицепе)... Если кто-то знает чем это может быть вызвано, просветите пожалуйста smile

P.S. Сразу оговорюсь, что от z-index ничего не зависит - пробовал...

Автор: bars80080 26.2.2008, 14:47
это MS баг, решается:

http://www.hedgerwow.com/360/bugs/css-select-free.html

правда сам пока не пробовал

Добавлено через 34 секунды
кстати, такой эффект только на ИЕ ? или и ФФ и опера

Автор: dimcat 26.2.2008, 15:07
FF и Opera обрабатывают нормально. Проблема в IE. При использовании filter:mask(); меню вообще перестаёт выпадать... Фреймов на сайте нет. Стиль такой 

Код

#horizontal-multilevel-menu li ul
{
    position:absolute;
    top:auto;
    display:none;
    /*z-index:500;*/
    height:auto;
    width:135px;
    background:#F5F5F5;
    border:1px solid #C1C1C1;
}

Автор: bars80080 26.2.2008, 15:16
значит решается по ссылке в предыдущем посте

а иначе вроде никак,

возможно ИЕ7 будет отрабатывать как ФФ, но не факт

Автор: dimcat 26.2.2008, 15:34
В IE 7 работает нормально, но половина пользователей сидят на шестёрке и это нельзя не учитывать... По ссылке в предыдущем посте не могу ничего сделать, потому как не могу использовать фреймы - специфика подключаемого меню. Да, видимо придётся передвигать меню... Гейтс, мать...

Автор: bars80080 26.2.2008, 16:07
точно нельзя?

потому как
Код

<style>
.select-free
{
    position:absolute;
    z-index:10;
    cursor:move;
    top: 0px;
    left: 20px;
    overflow:hidden;/*must have*/
    width:33em;/*must have for any value*/;
    
}
.select-free iframe
{
    display:none;/*sorry for IE5*/
    position:absolute;/*must have*/
    display/** /:block;/*sorry for IE5*/
    z-index:-1;/*must have*/
    width:3000px;/*must have for any big value*/
    height:3000px;/*must have for any big value*/ 
    filter:mask();/*must have*/
    top:0;/*must have* /
    left:0;/*must have* /         */
}                                               

.select-free .bd{border:solid 1px #aaaaaa;padding:12px;}
</style>
<select><option>qw</option></select>
<div class="select-free" id="dd2"><div class="bd">
<p>This is a layer with transparent background <br/ ><br/ >All &lt;SELECT&gt; behind these layer is invisible though you can still see other elements behind</p>
</div><!--[if lte IE 6.5]><iframe></iframe><![endif]--></div>


вроде как нормально вписывается
iframe просто создаёт требуемый эффект

или у вас доктайп нефреймовый?

Автор: dimcat 26.2.2008, 16:36
Во-первых заказчик не хочет использовать фреймы категорически, разумно обосновывая плохой индексацией поисковиками. Во-вторых меню используемой cms не позволяет использовать фреймы (или даже обычные таблицы). Разумеется, я могу его сделать самостоятельно, но опять же заказчик требует возможности редактировать пункты меню через cms... Вот так...

Автор: bars80080 26.2.2008, 18:04
1. никакой инфо в iframe и никакого адреса у iframe, что тут будут индексировать поисковики?
сам контент, в т.ч. и пункты меню располагаются на самой странице
здесь фрэймы используются как метод борьбы с ИЕ (чисто дизайнерская уловка)
<!--[if lte IE 6.5]><iframe></iframe><![endif]-->
здесь же ничего нет

2. тоже не вижу загвоздок, снова повторяю, никто не говорит об использовании iframe в качестве фрэйма
если вы можете подправить шаблон меню, то ничто не помешает вам вставить в конце блока ту фичу,
здесь даже таблиц не нужно, менюшки обычно делаются списками, и фича вставляется перед последним </ul>


впрочем вам решать, и согласен проблема до невозможности тупая (благодаря MS), я раньше при возникновении такой траблы просто спускал все селекты в недосягаемость до меню

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)