2009-11-11 5 views
4

récemment je suis passé à tester mon application Web dans IE8, cependant, j'ai remarqué que la position de mes contrôles maintenant partout. Ce n'était pas évident quand je testais mon application avec IE7 et Firefox 3.5. Je sais qu'il ya un suggéré "solution" à ce problème en incluantASP.NET - Problèmes avec la position des contrôles dans IE8

meta http-equiv = "X-UA-Compatible" content = "IE = EmulateIE7"

dans la source HTML , mais je pense qu'il vaudrait mieux que je change mon application pour prendre en charge nativement IE8, au lieu de retomber en mode de compatibilité. Toutes mes commandes sont positionnées en décalage par rapport au débit normal, mais j'ai également remarqué que même si elles sont positionnées en flux normal ou en position absolue, le problème persiste.

Je développe mon application entièrement en C# car j'ai beaucoup ou pas de connaissance de CSS, mais je n'ai aucun scrupule à changer cela si c'est le moyen de résoudre ce problème.

Merci.

Edit: J'utilise Visual Studio 2005 BTW

Edit: Après la plongée plus forum, j'ai trouvé un lien vers une entrée de blog sympa @http://blogs.msdn.com/ie/archive/2009/03/12/site-compatibility-and-ie8.aspx qui énumère quelques différences rapides entre IE8 View Standard, IE8 Affichage de compatibilité et IE7 qui pourrait casser un site. J'espère que cela aidera d'autres personnes confrontées à des problèmes similaires.

Répondre

3

Si vous construisez un site Web, vous devrez utiliser CSS.

Ceci est une bonne ressource pour commencer par CSS - http://www.w3.org/Style/CSS/learning

Css vous permettra de créer un site Web qui fonctionne pour la plupart des navigateurs modernes. Voici une bonne table pour la version CSS et la version du navigateur: http://www.quirksmode.org/css/contents.html

Cependant, certains navigateurs - notamment IE6 - n'ont pas correctement implémenté les guides CSS. Il en résulte le besoin de hacks CSS spécifiques à IE6 pour tout ce qui est sophistiqué.

Ceci est un bon point de Strating pour hacks navigateur:

http://articles.sitepoint.com/article/browser-specific-css-hacks#

+0

Merci pour le lien de la ressource, Joe. Je travaille sur le développement d'une application web, pas un site web, donc je préfère garder la plupart du code, en ce qui concerne le fonctionnement de l'application, dans les coulisses. – Kronon

+0

Pas de problème. Je ne parle pas de codage, juste du style, que vous mettriez dans CSS. Si vous voulez que votre application semble à distance professionnelle, vous devrez vous familiariser avec CSS ... –

3

Honnêtement le problème se trouve vraiment dans vos règles de balisage et CSS. IE8 est beaucoup plus conforme aux normes CSS W3c. Donc, vous avez probablement eu des problèmes avec FireFox, Opera, Chrome et Safari que vous ne connaissiez pas. Les navigateurs non IE n'honoreront pas votre balise IE7. Mon conseil est de faire fonctionner votre page dans les nouveaux navigateurs, garder les choses relativement simples afin que vous puissiez le faire fonctionner dans IE 6 et 7. IE 6 a vraiment besoin de s'en aller, mais hélas trop de gens ne mettront pas à jour. IE 7 doit honnêtement être éliminé aussi bien.

Je suis en train d'écrire une série, je fais appel ASP.NET mince qui se concentre en quelque sorte à faire les choses mises en page CSS pour les sites ASP.NET, http://professionalaspnet.com/archive/tags/Thin+ASP/default.aspx

+0

Je vois. Je suppose que j'ai vraiment besoin de me salir les doigts avec CSS pour mieux comprendre comment cela fonctionne main dans la main avec mon code pour affecter les visuels. Un grand merci pour le lien vers votre blog, Chris. Ce sera certainement utile. – Kronon

0

CSS peut être assez intimidant quand vous êtes le premier début de l'utiliser Personnellement, j'aime utiliser un éditeur CSS. J'utilise Skybound Stylizer (www.skybound.ca).Ils offrent une version de base gratuite, qui est vraiment tout ce dont vous avez besoin pour commencer et même publier un site Web, mais à seulement 79 $ j'ai mis à jour leur édition Ultimate pour montrer mon soutien et je l'aime toujours :)

I suggère de le vérifier. Il vous permettra de faire des changements et de voir instantanément ce qui se passe, il supporte également la possibilité d'afficher la page comme vous le feriez dans IE ou Firefox avec un support supplémentaire pour faciliter la création de commentaires CSS conditionnels pour des navigateurs séparés.

Espérons que cela aide, David.

+0

Merci pour la suggestion. La vue "Concepteur" actuelle dans Visual Studio fonctionne réellement pour montrer comment les contrôles apparaîtront avec les canges apportées à la source. Je vais regarder plus dans les commentaires CSS conditionnels que vous avez mentionnés si, merci pour l'aide. – Kronon

+0

Dans ce cas, voici quelques informations pour vous aider à démarrer: Propriétés CSS conditionnelles: Afficher uniquement dans IE version 7 et inférieure: #margin: 1px; Afficher en ligne dans IE version 6 et inférieure: _margin: 1px; Masquer dans IE version 6 uniquement: margin/** /: 1px; Masquer dans IE version 5.5 uniquement: ma \ rgin: 1px; Masquer dans IE version 5 uniquement: margin/* * /: 1px; Maintenant un exemple: Disons que vous avez un diviseur avec un ID de "truc" et vous devez le faire 2 pixels de plus dans IE mais pas dans quoi que ce soit d'autre. Comme les feuilles de style sont en cascade, vous devez d'abord mettre la propriété normale: #stuff {width: 5px; #width: 7px; } Espérons que cela aide, David. – David

Questions connexes