Bonjour.

Juste une info : une ligne <hr> (ligne horizontale) est-elle placée par défaut au centre de son conteneur ?

La mienne se place à gauche, et je n'arrive pas à la déplacer par stylisation (margin-left: auto;) ; avant de me lancer dans la recherche d'un conflit, pourrait-on me confirmer la position par défaut d'une telle ligne horizontale ?

Merci beaucoup.
Modifié par Piteur511 (14 Oct 2007 - 21:01)
papillon41 a écrit :
L'utilisation de "<hr />" peut poser des problèmes.
Il y a déjà quelque temps, j'ai trouvé : <hr /> horizontal rule sur "ultra-fluide.com".
Bien lu, merci ; je me suis d'ailleurs interrogé sur l'une des définitions de style données : _margin ! Qu'est-ce que c'est que ça ?
 margin: 0; /*pour tous les navigateurs*/
_margin: -7px 0; */pou IE/*

Hack pour IE. Seul IE, (pour le moment ?), l'interprète ; à n'utiliser qu'en développement !
papillon41 a écrit :
 margin: 0; /*pour tous les navigateurs*/
_margin: -7px 0; */pou IE/*

Hack pour IE. Seul IE, (pour le moment ?), l'interprète ; à n'utiliser qu'en développement !


Il est même préférable de ne pas l'utiliser du tout.
papillon41 a écrit :
 margin: 0; /*pour tous les navigateurs*/
_margin: -7px 0; */pou IE/*

Hack pour IE. Seul IE, (pour le moment ?), l'interprète ; à n'utiliser qu'en développement !
Donc, si j'ai bien compris, IE ignore dans ce cas margin: et utilise en son lieu et place les données fournies par _margin: ?

La guéguerre des standards (où déjà le pluriel frise l'absurdité) se poursuit-elle donc au lieu de s'acheminer vers des compromis ? J'imagine bien les feuilles de styles avec, pour une définition de style donnée, la version FFX, la version Opera, la version Safari, la version IE !

Au pire, faudra-t-il mettre un test "javascript" en entrée pour que soit choisi un fichier de styles différent pour chaque navigateur ? Vive l'harmonisation !

En tout cas, merci pour la réponse.
Modifié par Piteur511 (15 Oct 2007 - 11:44)
Piteur511 a écrit :
Donc, si j'ai bien compris, IE ignore dans ce cas margin: et utilise en son lieu et place les données fournies par _margin: ?

Déjà, ça dépend de quelle version d'IE on parle. La version 7 ignore les propriétés CSS précédées d'un underscore, pas la version 6.

Ensuite, ça fonctionne ainsi pour IE6:
- la première déclaration, margin: 0;, est comprise comme telle (heureusement!) et appliquée: les quatre marges de l'élément sont fixées à zéro;
- puis, la deuxième déclaration, _margin: -7px 0;, est interprétée comme si le underscore n'était pas présent, soit comme margin: -7px 0;, et donc les valeurs de cette seconde déclaration écrasent celles de la précédente.

Il s'agit d'un hack qui exploite la gestion par le navigateur d'une syntaxe non standard ou du moins «inattendue». IE7 montre bien qu'il est dangereux de se reposer sur de telles astuces, qui peuvent cesser de fonctionner avec une nouvelle version d'un navigateur.

Piteur511 a écrit :
La guéguerre des standards (où déjà le pluriel frise l'absurdité)

Aucune absurdité dans le fait d'utiliser un pluriel. Citons quelques standards utiles pour faire un site web:
- HTTP;
- URL;
- HTML;
- CSS;
- DOM;
- PNG;
- etc.
Ça fait bien plusieurs standards. Smiley cligne

Piteur511 a écrit :
La guéguerre des standards (...) se poursuit-elle donc au lieu de s'acheminer vers des compromis ?

Désolé, tout ce qu'on peut conclure de l'exemple de hr (un élément HTML implémenté il y a bien longtemps dans les navigateurs...), c'est que:
- les styles par défaut pour l'élément hr diffèrent légèrement d'un navigateur à l'autre;
- hr est un élément dont l'implémentation technique dans certains navigateurs impose des limites à la mise en forme qui peut lui être appliquée.

Vraiment pas de quoi en tirer de grandes conclusions sur les standards du Web et les orientations techniques ou politiques des principaux éditeurs de navigateurs web.

Pour répondre tout de même à la question:
- le groupe de travail HTML du W3C est présidé par Chris Wilson, de Microsoft;
- IE7 amène de nombreuses corrections de bugs (ce qui diminue les développements basés sur des bugs d'IE et incompatibles ailleurs) et surtout un meilleur support des standards, notamment de CSS 2.1;
- le support des standards W3C tient une bonne place dans les objectifs définis pour IE8;
- les autres acteurs du marché sont également attachés au support des standards du Web.

Mais si on veut retrouver le frisson de l'affrontement des aspirants-«standards de fait», on regardera du côté de Silverlight (Microsoft), AIR (Adobe), et consors.
Salut Smiley smile
Piteur511 a écrit :
DJ'imagine bien les feuilles de styles avec, pour une définition de style donnée, la version FFX, la version Opera, la version Safari, la version IE !

Heureusement, ça reste du domaine de l'imagination. Smiley cligne

En général, il suffit d'une feuille de styles pour la plupart des navigateurs, complétée par quelques lignes spécifiques à IE, grâce aux commentaires conditionnels (voir la FAQ).
a écrit :
Il s'agit d'un hack qui exploite la gestion par le navigateur d'une syntaxe non standard ou du moins «inattendue». IE7 montre bien qu'il est dangereux de se reposer sur de telles astuces, qui peuvent cesser de fonctionner avec une nouvelle version d'un navigateur.


Dans le cas présent (cad le hack _), jne vois pas en quoi il serait dangereux de l'utiliser. Jne suis pas d'accord pour diaboliser systématiquement les hacks CSS, ils peuvent être parfois utiles et fiables. Desfois tu n'as d'ailleurs pas vraiment de choix de les utiliser lorsqu'il existe des bugs entre les différents nav alternatifs (notamment sur les marges + contextes de formatage où le comportement de FF et des autres diffèrent).

Au lieu de faire ça à la Wikipedia :

<!--[if lt IE 5.5000]><style type="text/css">@import "/skins-1.5/monobook/IE50Fixes.css?100";</style><![endif]-->
		<!--[if IE 5.5000]><style type="text/css">@import "/skins-1.5/monobook/IE55Fixes.css?100";</style><![endif]-->
		<!--[if IE 6]><style type="text/css">@import "/skins-1.5/monobook/IE60Fixes.css?100";</style><![endif]-->
		<!--[if IE 7]><style type="text/css">@import "/skins-1.5/monobook/IE70Fixes.css?100";</style><![endif]-->
		<!--[if lt IE 7]><script type="text/javascript" src="/skins-1.5/common/IEFixes.js?100"></script>


je préfère faire une seule feuille de style pour IE et utiliser des hacks CSS pour donner ce qu'il faut à chaque version.

Par ailleurs, je vois mal le rapport entre le mouvement "anti-hack" et l'arrivée d'IE7. IE7 a comme toutes les versions corrigé des bugs et en a rajouté.
Modifié par JyuniX (15 Oct 2007 - 18:55)
JyuniX a écrit :
IE7 a comme toutes les versions corrigé des bugs et en a rajouté.

Pour ma culture personnelle, peux-tu préciser? Quels sont ces nouveaux "bugs" apparus avec la version 7 d'Internet Explorer?
Qui dit nouvelles fonctionnalités dit nouveaux bugs. Si on parle de filtres CSS, le plus connu est "*+html blabla" ou sa variante "*~html blabla". Il y a aussi le >body qu'IE7 traite comme un *>body alors que les autres (avec raison) ne l'interprètent pas puisqu'il s'agit d'une erreur de syntaxe.

L'arrivée d'IE7 ne m'a fait arrêter les hacks CSS personnelement, elle m'en a fait utiliser plus.
Modifié par JyuniX (15 Oct 2007 - 19:42)
Florent V. a écrit :

Aucune absurdité dans le fait d'utiliser un pluriel. Citons quelques standards utiles pour faire un site web:
- HTTP;
- URL;
- HTML;
- CSS;
- DOM;
- PNG;
- etc.
Ça fait bien plusieurs standards. Smiley cligne

Je me suis sans doute mal exprimé (n'est-ce pas le forum des débutants ?) : je faisais allusion, ironiquement, au fait que pour un même résultat, selon les navigateurs, on risque de devoir utiliser un "standard" différent (propre à chacun, tuant ainsi la notion-même de standard). Le mot "standard" induisait en erreur. Mille pardons.

Merci à tous pour vos réponses.
JyuniX a écrit :

<!--[if lt IE 5.5000]><style type="text/css">@import "/skins-1.5/monobook/IE50Fixes.css?100";</style><![endif]-->
		<!--[if IE 5.5000]><style type="text/css">@import "/skins-1.5/monobook/IE55Fixes.css?100";</style><![endif]-->
		<!--[if IE 6]><style type="text/css">@import "/skins-1.5/monobook/IE60Fixes.css?100";</style><![endif]-->
		<!--[if IE 7]><style type="text/css">@import "/skins-1.5/monobook/IE70Fixes.css?100";</style><![endif]-->
		<!--[if lt IE 7]><script type="text/javascript" src="/skins-1.5/common/IEFixes.js?100"></script>

Avec mes excuses, mais si "if EE 5.5000" se comprend parfaitement, que signifie "lt" dans "if lt IE 7" par exemple ?

===========EDIT=============

Je supprimerais bien ce message, maintenant que, guidé par Julien Royer, j'ai trouvé dans la FAQ réponse à ma question ("lt" = version précédant..., c'est bien ça ?)...
Modifié par Piteur511 (15 Oct 2007 - 19:53)
Cela signifie "avant" IE7. IE6 et inférieur chargeront le fichier JS indiqué dans le commentaire. D'ailleurs je me rends compte que j'ai pris une ligne de trop, il s'agit ici d'un script qui corrige surement la transparence des PNG. Smiley cligne
Modifié par JyuniX (15 Oct 2007 - 19:53)
J'ai été trop lent : tu as répondu avant que je ne finisse mon "EDIT"...

Merci pour la réponse, nonobstant ! Smiley cligne
JyuniX a écrit :
Dans le cas présent (cad le hack _), jne vois pas en quoi il serait dangereux de l'utiliser.

À vrai dire, depuis la sortie d'IE7 ce hack est devenu relativement fiable, notamment pour viser IE6 et pas IE7.
Tous ceux qui l'ont utilisé avant la sortie d'IE7 et qui comptaient dessus ont par contre, à mon sens, fait une erreur en utilisant un hack aux futures implémentations imprédictibles.

JyuniX a écrit :
Je suis pas d'accord pour diaboliser systématiquement les hacks CSS, ils peuvent être parfois utiles et fiables.

Disons que dans le cas du «les hacks céleumal», il s'agirait plutôt d'une généralisation pédagogique.

JyuniX a écrit :
Au lieu de faire ça à la Wikipedia (...)

Je ne vois pas de raison particulière de faire autrement. Le système adopté par Wikipédia répond bien aux contraintes propres à se projet. Rien à redire là-dessus pour ma part.

JyuniX a écrit :
Par ailleurs, je vois mal le rapport entre le mouvement "anti-hack" et l'arrivée d'IE7.

Le rapport vient peut-être de Microsoft qui, juste avant la sortie d'IE7, a proclamé que les hacks céleumal et que les commentaires conditionnels céleubien? Donc faut râler sur Microsoft.