2010-08-20 17 views
1

i avoir le code HTML suivant (extrait de-code de base plus large)la position IE: relative affichage comme position: static

<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> 

(où [title] et [body] sont des chaînes générées dynamiquement)

et le style pour cela est la suivante:

.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; 
} 

maintenant dans Firefox, Chrome et la plupart des autres navigateurs, le positionnement relatif de ce div signifie qu'il défile avec le reste de la page, pas de problème, mais pour Une raison pour IE 6 et 7 est que le positionnement est statique (IE 8 fonctionne bien). À aucun moment dans/aucun des fichiers css ne se trouve la position dite statique et je me demandais si quelqu'un avait déjà rencontré ce problème, et si oui, comment je pourrais le réparer.

-Matt

. MISE À JOUR:.

Juste une mise à jour à ce sujet, j'ai trouvé que le problème est là JQuery injecte le positionnement directement dans la section « style » de la principale div:

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

si je supprimer cela, il casse la capacité à nouveau glisser un élément tombé avec précision dans tous les autres navigateurs en dehors de IE,

autrement dit, j'ai trouvé où le problème réside, mais pas comment y remédier> _ < -Matt

Répondre

2

C'est parce que o f un bug dans ie6 & 7. Il vous suffit d'ajouter une position: relative à l'élément "body" (pas à votre espace réservé "body"). http://friendlybit.com/css/ie6-resize-bug/

J'espère que ça aide!

+0

J'ai regardé dans cela, malheureusement ce n'est pas le problème, ni ne le corrige, l'élément semble être fixé au chargement de la page et/ou redimensionner. – Matt

+0

Je ne suis pas totalement sûr mais je pense que chaque position: relative devrait avoir un flottant: gauche ou droite pour fonctionner correctement dans IE – Sigmar