Положение IE: относительное отображение, как будто положение: статическое - PullRequest
1 голос
/ 20 августа 2010

У меня есть следующий HTML (выдержка из большей базы кода)

<div class="diary-event ui-corner-all" title="[title]">
    <span id="delete"></span>
    <div class="diary-event-title ui-corner-all">[title]</div>
    <div class="diary-event-body ui-corner-all">
        <p class="hyphenate">[body]</p>
    </div>
</div>

(где [title] и [body] являются динамически генерируемыми строками)

и стиль для этого выглядит следующим образом:

.ui-corner-all
{
    -moz-border-radius:4px 4px 4px 4px;
}
.diary-event
{
    display:block;
    height:100%;
    position:relative !important;
    vertical-align:top;
    width:100%;
    word-wrap:break-word;
}
table *
{
    margin:0;
    padding:0;
}

#diary-grid
{
    border-collapse:collapse;
}
body
{
    font-family:Arial;
}

теперь в Firefox, Chrome и большинстве других браузеров, относительное позиционирование этого div означает, что он прокручивается с остальной частью страницы, никаких проблем, однако по какой-то причине в IE 6 и 7 он действует так, как будто позиционирование статическое IE 8 работает нормально).

Ни в одной точке / любом / из css-файлов позиция не называется статической, и мне было интересно, сталкивался ли кто-нибудь с этой проблемой раньше, и если да, то как я могу ее исправить.

Матф

.: ОБНОВЛЕНИЕ:.

Просто обновление, я обнаружил, что проблема в том, что JQuery внедряет позиционирование непосредственно в раздел 'style' основного div:

start: function(event, ui)
{
  --->  $(diary_event).attr('style','position: relative'); <----
    diary_event = $(this);
    diary_event_parent = $(this).parent();
}

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

другими словами, я нашел, где находится проблема, но не как ее исправить> _ < Матф

1 Ответ

2 голосов
/ 20 августа 2010

Это из-за ошибки в ie6 & 7.Вы просто должны добавить позицию: относительно элемента "body" (а не вашего заполнителя "body").http://friendlybit.com/css/ie6-resize-bug/

Надеюсь, это поможет!

...