2008-10-10 9 views
1

Je travaille sur une page Web dans ASP.Net/C# qui utilise le positionnement absolu pour une zone de texte, pour plusieurs en fait. Cela fonctionnait très bien, jusqu'à ce que j'ajoute d'autres zones de texte. C'est-à-dire que les zones de texte existantes sont toujours positionnées correctement, mais pas les nouvelles, malgré le fait que j'ai créé de nouveaux styles dans le CSS pour eux comme les autres. Un exampe est ci-dessous:Comportement de positionnement bizarre en utilisant ASP.Net, CSS, VS 2008, dans IE7

.pieceBox { 
    position: absolute; 
    top: 425px; 
    left: 133px; 
    background-color: White; 
    color: Black; 
    width: 132px; 
    font-weight: bold; 
    text-align: center;  
} 

styles identiques dans le même fichier CSS (avec des noms bien sûr) au-dessus et en dessous de ce un beau travail. J'ai vérifié, revérifié et triplement vérifié le nom du style dans l'attribut CssClass du et il est correct. Cependant, quoi que je fasse, y compris en lui donnant un nouveau nom, en copiant les anciennes entrées et en les renommant, etc., ces trois nouvelles zones de texte se placent en haut de la page, alors que les autres affichent leurs positions absolues correctes . J'ai regardé la page source aspx et ai vérifié qu'ils ne sont pas dans un autre DIV, etc. Je suis à bout de nerfs avec cela. J'ai trouvé une solution de contournement pour le moment, mais ce n'est pas comme cela que je veux la quitter (implique de créer du code HTML dans un Asp: Literal.)

J'ai vérifié la source résultante (via la viewource d'IE) et la classe est défini correctement dans le code HTML résultant.

Encore une chose au cas où cela serait important; Ce projet de site Web a été créé à l'origine dans VS 2005 et converti au format VS 2008. Pas que cela devrait avoir de l'importance, mais je pensais que je le mentionnerais.

Est-ce que quelqu'un d'autre a éprouvé ce type de comportement?

+0

Veuillez publier une URL dans un exemple. Il n'y a pas assez de détails à raconter de ce qui a été posté. –

Répondre

0

Il est difficile d'expliquer des problèmes comme celui-ci si aucun code n'est fourni, mais ma première supposition serait que vous avez un problème avec les nouveaux contrôles qui n'utilisent pas les mêmes conteneurs parents que les anciens.

Avez-vous vérifié les règles CSS qui s'appliquent aux conteneurs parent de zones de texte fonctionnant correctement? Ils devraient généralement être réglés sur "position: relative"; si vous voulez que vos contrôles enfants soient alignés en fonction d'eux.

Assurez-vous aussi que le problème de la mise en page ne se produit pas en raison de chevauchement des contrôles à savoir deux zones de texte peuvent avoir des positions similaires ou près de, puis on vient sur une autre.

Dans tous les cas, si vous voulez une solution appropriée et directement à votre problème, je suggère que vous partie postez de votre code.

1

Si vous avez des éléments absolument positionnés qui ont un parent qui est soit absolue ou relativement placé, ils se positionner par rapport à leur conteneur au lieu de la page.

En d'autres termes, vos éléments pourraient être se positionnent de différents points d'origine.

+0

Utilisez l'extension Web Developer pour Firefox (ou l'équivalent dans IE) pour déboguer les problèmes de positionnement. – Liam