28217 sujets

CSS et mise en forme, CSS3

salut, voici un menu validé par w3c validator, pas une seule faute, j'ai tout un site codé en css, tout nickel.
voici les différences de design entre ie et firefox:
exemple pour un menu, code à l'appui

merci pour les commentaires ou pour éventuellement expliquer les raisons d'un tel défaut
hum je n'ai peut-être pas été précis: a faire avec le lien précédent un test dans ie et dans firefox. L'interlignage , c'est du n'imp' et différent dans chacun des navigateurs.


Mais une idée me viens là Smiley lol
ptet qu'il est préférable de définir l'interlignage pour éviter ce souci Smiley rolleyes
Administrateur
Salut,

Je ne comprends pas vraiment le rapport avec ton titre.
Je pense que tu t'aventures dans un nouveau domaine avec plein de préjugés.
Mais je vais certainement te décevoir d'emblée : Valider un site ne signifie pas qu'il sera compatible partout.

Pourquoi ? Tout simplement parce que :
- tu peux très bien faire un code valide mais complètement stupide (par exemple un div de 7000px de haut)
- les navigateurs actuels ne sont pas pour l'instant eux-même conformes avec les Standards proposés (qui ne sont d'ailleurs que des propositions)
- une validation automatique n'est pas une baguette magique

Plus d'informations sur ce billet :
Mon site validé en XHTML Strict n'est pas compatible partout. Pourquoi ?
ok bien, comme on le conseille souvent, j'ai pris plusieurs site que j'ai décortiqué, étudié, recodé...et je n'ai aucun préjugé (ce n'est pas la définition ici) j'applique simplement des valeurs établie par le w3c: 'strict', 'standard' que j'ai d'ailleurs du mal à accepter dans le dev d'un site. Cela fait déjà un bon moment que j'observe le css hein Smiley cligne

Un peu déçu en effet qu'on nous bassine avec ce genre de vocabulaire qui ne veux rien dire et qui ne fonctione pas de manière strict, bête et disciplinée Smiley smile

ceci dit, ça ne résouds pas le prob d'interlignage Smiley langue
Administrateur
foeb a écrit :

Un peu déçu en effet qu'on nous bassine avec ce genre de vocabulaire qui ne veux rien dire et qui ne fonctione pas de manière strict, bête et disciplinée Smiley smile

Hé hé, tu te trompes de cible : inutile de reprocher aux Standards les bugs et non conformités de certains navigateurs Smiley smile
Bonjour,

Il y a quand même une erreur dans l'exemple que tu donnes, il manque <ul></ul>
<LI id=contact><a href="#">/ CONTACT</a> </LI>


Je sais qu'avec HTML 4.01 Transitional, la fermeture de <li> est optionnelle et pourtant... un petit passage de Tidy donne ceci
<div id="menu">
      <ul>
        <li>
          / ACCUEIL
        </li>
        <li id="accueil">
          <a href="http://www.">&gt; vous &ecirc;tes ici</a>
        </li>
        <li>
          / SERVICES
        </li>
        <li id="chaudronnerie">
          <a href="http://www.">&gt; pwet</a>
        </li>
        <li id="elementsfinis">
          <a href="http://www.">&gt; pwet</a>
        </li>
        <li id="fatigue">
          <a href="http://www.">&gt; pwet</a>
        </li>
        <li>
          / PRODUITS
        </li>
        <li id="calculC15">
          <a href="http://www.">&gt; pwet</a>
        </li>
        <li id="conversion">
          <a href="http://www.">&gt;</a> <a href=
          "http://www.">pwet</a>
        </li>
        <li id="bride">
          <a href="http://www.">&gt; pwet</a>
        </li>
      </ul>
      <ul class="noindent">
        <li id="contact">
          <a href="#">/ CONTACT</a>
        </li>
      </ul>
    </div>

C'est quand même plus net... et plus de problème d'interligne
Modifié le 26 Jan 2005 - 16:04
foeb a écrit :
merci pour les commentaires ou pour éventuellement expliquer les raisons d'un tel défaut

Là je note un défaut:

 <p>
  <LI id=contact><a href="#">/ CONTACT</a> </LI>
  <p></p>

Il manque un ul pour cet élément de liste. Smiley cligne
a écrit :
Hé hé, tu te trompes de cible : inutile de reprocher aux Standards les bugs et non conformités de certains navigateurs


Bonjour,

Je tenais à dire que l'argument est un peu facile. Si les "standards" sont corrects en eux-mêmes mais ne sont implémentés correctement dans aucun navigateur, ou, pour faire plus court, "les standards sont bons, c'est la faute aux browsers", il y a quand même un problème au niveau de leur applicabilité, et ce type d'rgument n'apporte guère de réponse à un problème concret et immédiat.

Je ne discute pas ici de la pertinence ou non de la critique de foeb mais uniquement de celle de l'argument qui lui est opposé.

Il me semble que la difficulté à créer des sites avec une mise en page correcte et conformes aux standards est insuffisamment prise en compte, d'où des irritations et coups de gueule qu'il faudrait davantage prendre en compte dans le discours en faveur des standards.

Quant aux bugs et non-conformités de "certains navigateurs", j'espère qu'il ne s'agit pas d'un euphémisme pour désigner un certain navigateur: en ce qui me concerne, j'ai pour l'instant deux sites dont l'affichage est conforme au code CSS dans IE6... mais pas dans Firefox.
Administrateur
Lançons-nous allègrement dans le troll Smiley smile

Tu critiques un "argument" alors qu'il n'y en a pas :

1- les Standards sont une recommandation. Par définition nul n'est obligé de s'y tenir (je ne parle pas ici des normes d'accessibilité qui deviennent obligatoires selon les pays et les sites). Si personne n'est obligé de s'y plier. Dans ce cas, il n'est pas utile de les critiquer Smiley smile

2- Ces recommandations sont en général en avance sur les navigateurs. Oui, ici je parle par exemple d'un certain navigateur qui n'a pas été mis à jour (sur ce domaine) depuis 1999. Donc il est normal que certains navigateurs actuels n'interprêtent pas toutes les CSS actuelles.
L'exemple le plus probant est la propriété display table-cell qui résoudrait tous les problèmes de centrage vertical et de "colonnes" de tailles égales... mais c'est à cause d'un navigateur précis que cette solution n'est actuellement pas envisageable Smiley decu

3- Les normes sont utiles. Je vois mal certains domaines comme l'architecture, la société, et bien d'autres domaines se passer de normes.

Hop, le troll de la semaine est lancé ! Smiley smile
Triple problème en forme de malentendu :

1. l'applicabilité de CSS2 est assez délicate à mettre en cause àpartir d'IE, dont le moteur (Trident) remonte presque au siècle dernier. Elle est d'autant plus difficile à mettre en cause que CSS2.1 a justement été délivrée pour tirer la leçon de l'implémenté et du non implémenté...

2. Oui, une mise en page CSS est parfois un casse-tête... parce que c'est un technique encore peu familière, que vous n'en avez pas encore les réflexes instinctifs, que CSS pardonne difficilement les défaut de conception basique (type figer une page dans une hauteur donnée), et enfin que CSS est une démarche abstraite, là où les tableaux sont une démarche concrète : CSS introduit un niveau d'abstraction auquel vous n'êtes pas habitués.

3. Développer en CSS avec IE comme navigateur de référence est tout aussi absurde que de prendre Netscape 4.x, Opera 4 ou un des premiers Mozilla. Le principe de base pour un développement aisé est de développer pour deux navigateurs très conformes (gecko / Opera / safari) et de dégrader ensuite dans IE.

Oui, j'ai bien dit dégrader. Tout comme on ne s'attend pas au même résultat CSS dans Netscape 4.x et dans Opera 8.0, on ne peut pas s'attendre dans certains cas à un résultat identique dans IE et dans les navigateurs modernes.

PS : il est très rare, voire même exceptionnel, que je manifeste le moindre embryon de discours hostile à IE. D'ordinaire, j'explique plutôt qu'il n'est pas un obstacle aux standards. Profitez-en Smiley biggrin
Modifié le 26 Jan 2005 - 18:47
thierry a écrit :

Quant aux bugs et non-conformités de "certains navigateurs", j'espère qu'il ne s'agit pas d'un euphémisme pour désigner un certain navigateur: en ce qui me concerne, j'ai pour l'instant deux sites dont l'affichage est conforme au code CSS dans IE6... mais pas dans Firefox.


J'aimerais bien voir ces phénomènes.
Nul doute que les feuilles de style CSS de ces sites dont tu parles ont été montées en testant exclusivement sous MSIE (donc inévitablement en adaptant consciemment ou pas ces feuilles aux bugs de IE).

Et lls donnent quoi ces sites dans Opera ?
Modifié le 26 Jan 2005 - 18:31
Attention, je me sens un petit retour de flamme d'intégrisme :

Raphael a écrit :
Lançons-nous allègrement dans le troll Smiley smile
1- les Standards sont une recommandation. Par définition nul n'est obligé de s'y tenir (je ne parle pas ici des normes d'accessibilité qui deviennent obligatoires selon les pays et les sites)


Si. un navigateur conforme est tenu de s'y tenir.
S'il n'est pas conforme, il est normal qu'une page (X)HTML+CSS s'y dégrade lamentablement. Et c'est de sa faute.

Sinon, la norme d'accessibilité obligatoire patati et patata... est celle qui s'applique aux sites, pas aux navigateurs. Ils en ont une, eux aussi, mais elle n'a rien à voir.

Raphael a écrit :

2- Ces recommandations sont en général en avance sur les navigateurs. Oui, ici je parle par exemple d'un certain navigateur qui n'a pas été mis à jour (sur ce domaine) depuis 1999. Donc il est normal que certains navigateurs actuels n'interprêtent pas toutes les CSS actuelles.


Non. Une spécification doit commencer à être implémentée que quand elle atteint l'adolescence (au moment où elle passe le cap officiel de recommandation proposée). Les navigateurs ont largement le temps de s'y préparer. Il n'est pas normal qu'IE n'implémente pas la totalité de CSS2.

Raphael a écrit :

L'exemple le plus probant est la propriété display table-cell qui résoudrait tous les problèmes de centrage vertical et de "colonnes" de tailles égales... mais c'est à cause d'un navigateur précis que cette solution n'est actuellement pas envisageable Smiley decu


Et la position fixe ? Et une implémentation correcte des flottants ? Et le support des sélecteurs d'attributs ? et ??? ...
Le navigateur en question ne pose pas de problèmes majeurs si on s'en tient à ce principe de dégradation correcte (contrairement aux navigateurs de génération 4.x). Mais il faut reconnaître qu'il possède de multiples lacunes sur des points élémentaires de CSS2.

Raphael a écrit :

3- Comme ce ne sont que des Recommandations, personne n'est obligé de s'y plier. Dans ce cas, il n'est pas utile de les critiquer Smiley smile


rebelote. Le terme anglo-saxon est trompeur. Une recomandation est une obligation pour un navigateur conforme.
En revanche, elle ne s'adresse absolument pas aux auteurs. Celui qui se sent tenu d'appliquer CSS2, XHTMLbidule, etc... dans le développement de son site... se trompe totalement : il est entièrement libre car ça ne s'adresse pas à lui.
<edit>Mais qu'il se ne plaigne pas si son site, développé en tenant compte prioritairement d'un navigateur irrespectueux des standards, ne passe pas bien dans des navigateurs conformes</edit>

Raphael a écrit :

4- Les normes sont utiles. Je vois mal certains domaines comme l'architecture, la société, et bien d'autres domaines se passer de normes.


Evitons les comparaisons hasardeuses. Nous parlons de normes techniques dans un domaine bien précis.

Où elles sont vitales.
Modifié le 26 Jan 2005 - 18:44
Administrateur
Laurent Denis a écrit :

rebelote. Le terme anglo-saxon est trompeur. Une recomandation est une obligation pour un navigateur conforme.

En fait, l'essentiel de ce que je voulais dire est là : bien sûr qu'un navigateur conforme doit se plier aux recommandations, mais... qu'est-ce qui oblige un navigateur à être conforme ?

Jusqu'à présent, Microsoft - même si elle faisait partie du W3C - ne s'est jamais vraiment pressé de suivre ses recommandations. Au contraire, elle serait plutôt du genre à imposer les siennes (il doit y avoir une 10aine de trucs CSS propriétaires IE).

Bref : IE n'est pas conforme, qui va lui taper sur les doigts ? (les utilisateurs, en utilisant autre chose ? Est-ce une réponse sérieuse ?)