Div исчезает, пока я не прокручиваю в Opera

0

Я кодирую веб-страницу, и у меня проблема с исчезновением div в браузерах Opera и Maxthon (работает нормально с firefox).

Div - это простое меню с фиксированным положением, которое скользит вниз с помощью прокрутки окна, однако при нажатии ссылки в нем он будет прокручиваться вниз, но иногда он просто исчезает, пока я не прокручу его снова.

Я использую только HTML и CSS, у меня нет знаний в Javascript или что-то еще, но это довольно раздражает. Есть ли способ исправить это?

соответствующий код:

HTML:

<div id="menu">
    <ul>
        <li><a href="#about">About Us</a></li>
        <li><a href="#merch">Merchandise</a></li>
        <li><a href="#contact">Contact Us</a></li>
    </ul>
</div>

CSS:

#menu
    {
        position: fixed;
        margin-left: 5px;
        margin-top: 10px;
        width: 14%;
        height: 100px;
        border: 3px red solid;
        background: white;
        z-index: 100;
}

#menu ul
{
        position: absolute;
        float: left;
}
Теги:
menu

1 ответ

0

Попробуйте установить его положение left и top вместо margin.

#menu
    {
        position: fixed;
        left: 5px;
        top: 10px;
        width: 14%;
        height: 100px;
        border: 3px red solid;
        background: white;
        z-index: 100;
}

Обновить

Я немного искал, и, похоже, это известный Opera Bug.

Обходным путем является постоянное оживление какого-либо свойства, которое не возится с вашим макетом, но заставляет движок перерисовывать элемент. Таким образом, использование CSS-анимации и таргетинг на box-shadow с почти несуществующей тень устраняет проблему.

#menu
{
    position: fixed;
    margin-left: 5px;
    margin-top: 10px;
    width: 14%;
    height: 100px;
    border: 3px red solid;
    background-color: white;
    z-index: 100;
    -webkit-animation:noop 0.1s infinite; /*fix for maxthon*/
    animation: noop 0.1s infinite; /*fix for opera*/
}

@keyframes noop {/*fix for opera*/
  0%   { box-shadow:0 0 0 rgba(0,0,0,0.1); }
  100%   { box-shadow:0 0 1px rgba(0,0,0,0.1); }
}
@-webkit-keyframes noop{/*fix for maxthon*/
  0%   { box-shadow:0 0 0 rgba(0,0,0,0.1); }
  100%   { box-shadow:0 0 1px rgba(0,0,0,0.1); }
  }

(в моей опере есть задержка перед запуском анимации, поэтому, если вы сразу начнете щелкнуть, может возникнуть задержка, прежде чем исправлять проблему в первый раз..)

Другое решение - обновить Opera (так как теперь это v21)

  • 0
    К сожалению, это не сработало, оно все равно исчезает
  • 0
    Вы можете опубликовать живую ссылку? то, что вы описываете, не должно произойти, так что это может быть чем-то другим, мешающим этому ..
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню