pages valides w3c mais... - HTML/CSS - Programmation
Marsh Posté le 04-07-2005 à 10:38:07
seb306bzh, il vient de dire que c'était valide
on pourrai voir ton site par hasard ???
sinon le mieux c'est de corriger les erreurs d'affichage IE en utilisant un hack CSS, exemple :
.classetruc{
width:100px /*pour les navigateurs respectant les standards*/
_width:120px /*Pour ce bouffon de IE qui respecte rien du tout*/
}
Marsh Posté le 04-07-2005 à 10:52:12
Le meme affichage dans tous les navigateurs respectant les standards fonctionne déjà.
Les recommandations w3c sont justement la pour ca : quand les navigateurs reconnaitront tous correctement les standards (x)html et css, un site bien codé passera partout ...
Malheureusement, tant qu'IE ne respectera pas les standards, et vu qu'il est utilisé par 85% des internautes français, on sera embêté et un site aux normes ne passera quand meme pas sous IE correctement.
Alors on peut utiliser des hacks comme celui évoqué par gatsusat, mais il en existe plein d'autres ...
De plus en plus de programmeurs web respectent les standards, et donc Microsoft va peut-etre réagir et améliorer le support des standards sur Internet Explorer 7.
Mais bon, étant inclus dans windows, et windows étant vendu d'office sur tous les pc du commerce, les développeurs d'Internet Explorer s'en foutent un peu puisqu'ils savent que la majorité des windowsiens n'utilisera jamais autre chose que leur pseudo navigateur jamais a jour ...
Marsh Posté le 04-07-2005 à 11:18:55
Merci les gars.
gatsusat, j'ai pas bien compris comment tu voulais faire fonctionner tes hack...
C'est juste la présence du _ qui fait le travail ? Ca métonne.
Le site : par là. La difference IE / FF se voit surtout dans la sections TPs (les bandeaux des titres qui sont n'importe où...)
Merchi !
Marsh Posté le 04-07-2005 à 11:25:15
Oui la solution de gatsusat est de donner une première valeur comprise par tous (meme IE).
La deuxième valeur, avec un tiret bas, ne sera pas prise en compte par FireFox (comportement standard), mais sera interprétée par IE (pas standard).
Donc IE, voyant un "width:120px;" après un "width:100px;", prendra 120 pixels. FireFox ne verra que "width:100px;", et donc prendra 100 pixels là où IE prendra 120 pixels.
Facile non ?
Marsh Posté le 04-07-2005 à 13:55:03
les autres méthodes sont plus longues, mais la feuille de style passe encore au validateur, alors qu'avec le underscore hack, elle est plus validée.
Marsh Posté le 04-07-2005 à 14:09:01
et ça c'est bien dommage... Tu mle donnes une façon plus longue mais valisée plainsifpain s'il te plait ?
Merci d'avance.
Marsh Posté le 04-07-2005 à 14:18:18
Code :
|
la c'est l'inverse, tu donnes en premier la valeur pour IE, et tu corriges après pour firefox en utilisant un sélecteur que IE ne connait pas et n'interprètera pas.
Donc si j'ai pas fait d'erreur (c'est une solution que j'aie en mémoire et dont je ne suis plus sur), ca marche et c'est valide.
Le truc pour voir si ca marche c'est de faire une page avec un div et de mettre ce div en 300*300 pour ie avec un fond rouge, et de le mettre en 50*50 en fond vert sous FF.
Marsh Posté le 04-07-2005 à 14:23:52
Le !important marche aussi.
Code :
|
Seuls les navigateurs pas trop dégénérés savent qu'il faut prendre la ligne !important (même si elle se trouve avant).
Ici c'est pour une belle transparence PNG (et une moisie spécialement pour IE).
Marsh Posté le 04-07-2005 à 14:25:36
ouais le important est moins pratique, parce que si t'as encore des propriétés après, ca ne fonctionne pas tout le temps très bien ...
Néanmoins c'est bon de le savoir aussi !
Marsh Posté le 05-07-2005 à 14:30:48
Merci pour tout.
J'ai adopté la technique du !important c'est ce qui me semblait le plus propre ;-)
Ah juste une question (je n'en ai aps besoin ais ça peut toujours servir...) On peut mettre plusieurs !important dans une definition de CSS non ? exemple :
Code :
|
Merci encore !
Marsh Posté le 05-07-2005 à 14:34:45
Moi, je ne sais pas, j'ai jamais testé, je préfère l'underscore hack quitte à hacker
Marsh Posté le 05-07-2005 à 20:54:20
bah oui mais c'est plus elegant d'utiliser des vrais trucs prévus dans les css plutot que des hacks comme ça non ? Et puis le code reste valide W3c comme ça.
Je me trompe ?
Marsh Posté le 06-07-2005 à 00:12:09
j'aime bien cette technique pour ma part :
(cf post d'en dessous)
Code :
|
car là je sais pourquoi ça marche.(je savais pas que _ c'est valide/invalide...)
Marsh Posté le 06-07-2005 à 08:01:26
oui la technique que zapan m'a cité que j'ai donné plus haut, c'est la plus propre. Mais bon moi j'évite de tomber dans des cas ou IE merde. Enfin j'essaie.
Marsh Posté le 06-07-2005 à 08:10:00
ce qu'il y a à voir c'est surtout si cette technique restera valable avec IE7
si IE7 est aux normes alors ca sera nickel
c'est surtout pour le underscore hack que je m'inquiète.
si IE7 passe parfaitement, je crains que IE7 lise le HAck et l'interprete et affiche mal le site
Marsh Posté le 06-07-2005 à 08:20:24
gatsusat a écrit : ce qu'il y a à voir c'est surtout si cette technique restera valable avec IE7 |
Si IE7 n'accepte plus le underscore hack, y a intérêt à ce qu'il comprenne correctement les css2.1, sinon on est mal. Idem pour l'autre méthode.
Je préfère qu'IE n'évolue pas si c'est juste pour prendre en compte les hacks et les empêcher, pour pousser les débutants à continuer les tables ...
Marsh Posté le 06-07-2005 à 08:25:16
Je pensais plutôt au problème là :
Si IE7 est valide à 100% comme FF, et qu'il comprenne encore le underscore hack, ben faudra qu'on modifie nos sites ou qu'on fasse quelque chose pour regler ce problème
Marsh Posté le 06-07-2005 à 08:29:47
Ben on enlèvera les lignes avec les hacks.
pas si long que ca pis y a qu'une css par site que tu as fait en général
Marsh Posté le 06-07-2005 à 08:34:47
bah vi ca C sur, mais si tu es webmaster et que tu as fais une dizaine de sites et que tes clients t'appellent car ca marche po sous IE7 laule
Marsh Posté le 06-07-2005 à 08:36:02
ben je reprends les CSS
Et accessoirement (si j'ai une prime), je leur refait un site plus beau en utilisant pleinement les css2
Marsh Posté le 06-07-2005 à 08:45:25
laule
mais je pense qu'il vaut mieux pour le moment faire comprendre au client que on ne peut pas faire comme on veut à cause de certaines limitations de IE
Marsh Posté le 04-07-2005 à 10:18:27
ALors voilà.
J'ai fait un site perso et les pages de mon site sont toutes valides xhtml 1.0 strict (les fichier html et les css).
Pourtant, je viens de me rendre compte que l'affichage passe pas bien sous IE.... J'ai testé avec d'autres et ça marche nickel...
Tout cela m'etonne parce que je pensais qu'en faisant un code 'propre' (ou tout du moins valide...), on obtiendrait le même affichage dans tous les navigateurs.
Une explication ? Merci d'avance !