5568 sujets

Sémantique web et HTML

Bonjour à tous,

Enchanté de rejoindre votre forum d'entraide.

Je réalise quelque site comme ci comme ca et j'avoue que je galère beaucoup.

J'ai un problème récurrent sur tous mes sites, je les ai concu sous ie, et nikel et je me rend compte que sous firefox, il y a plein de decalage, je suis degouté...

Quelqu'un a une idée.

La conception est faite sous notepad++ en html. Faute de maitrise, j'ai pas séparé le CSS.

Merci d'avance

Pika Smiley biggrin Smiley biggrin
Modifié par pika28 (17 Sep 2009 - 11:22)
pika28 a écrit :
je les ai concu sous ie

Ah ben voilà.

(Le pire c'est que si le rendu est problématique sous Firefox, il le sera sans doute aussi sous Safari, Chrome, Opera et... Internet Explorer 8.)

Dans les pistes de solutions:
1. Toujours travailler sur des pages HTML avec un Doctype en bonne et due forme.
2. Ça serait quand même mieux de séparer clairement HTML et CSS, ça faciliterait la maintenance. C'est loin d'être compliqué.
3. Toujours tester sur deux navigateurs autres que IE. Par exemple Opera et Safari, ou Firefox et Chrome.
4. Faire attention aux versions d'IE utilisées. Pour un site professionnel, il faut actuellement tester le site sur IE6, 7 et 8. Ce qui est difficile car on ne peut théoriquement pas installer plusieurs versions d'IE sur un même système. Dans le cas où on utilise IE8, faire attention au mode de rendu utilisé.
Salut,

Cela vient du fait que l'interprétation des propriétés CSS est complète, partielle ou inexistante dans certains navigateurs, ce qui donne des résultats différents. Les navigateurs les plus anciens sont souvent ceux qui en interprètent le moins, donc ils les ignorent tout simplement.
Mais même dans les navigateurs plus récents, ils ne sont pas tous capable d'interpréter à 100% la norme actuelle.
Internet explorer fait souvent office de vilain petit canard, car il subsiste encore une énorme part de leur navigateur en version 6, qui date du début du siècle ! Le 7 est déjà un peu mieux mais souffre encore de lacunes importantes par rapport aux navigateurs coexistant à l'époque de sa sortie. Le 8 semble avoir pas mal rattrapé son retard.

Il est donc toujours mieux de concevoir ses sites en les testant sur les différents navigateurs simultanément, ça aide à éviter de tout refaire une fois qu'ils sont achevés. Smiley cligne
Je crois savoir également d'ou viens mes décalage. IL y a une grosse différence d'interligne entre les IE et FF. L'espace entre ligne est plus important sous FF, et c'est ca qui plante tout je pense.

Vous savez d'ou ca peut venir?

pika
pika28 a écrit :
Je crois savoir également d'ou viens mes décalage. IL y a une grosse différence d'interligne entre les IE et FF. L'espace entre ligne est plus important sous FF, et c'est ca qui plante tout je pense.
Vous savez d'ou ca peut venir?
pika

Bonjour pika28,
(Tiens je passe à Chartres en fin de semaine Smiley smile )

Il serait bien de valider/corriger ton code avant toutes autres actions (le Strict est stricte !)
Cela se passe ici : http://validator.w3.org/
Ensuite enlève toute déclaration faite avant le doctype (le code PHP...)
Ajoute une déclaration d'encodage à ton document.
Suis les conseils de Florent V.
Et tu devrais commencer à y voir plus clair Smiley cligne

Cordialement,
Sylvain
Grace à l'outils de validation, je me suis rendu compte que j'avais XHML 1.0 au lieu de HTML 4.01 qui correspond mieux à ce que j'ai fait. Du coup, je passe de 157 erreurs à 26 erreurs.

Concernant les 26 erreurs restantes, elles concernent tous les balise DIV et LI. Ne peut-on pas les utiliser avec le HTML 4.01?
Les erreurs sur les DIV sont à priori dues à la balise <font> que tu utilises avant le DIV signalé en erreur. Tu devrais supprimer tous les éléments FONT, et reporter leurs styles en CSS (les propriétés CSS color, font-size et font-family devraient t'intéresser).

De même pour les LI, c'est la présence d'un élément B comme enfant d'un élément UL qui pose problème. UL n'accepte que des LI comme enfant, et rien d'autre. Donc plutôt qu'écrire:
<ul>
<b>
<li><a href="index.html">Accueil</a></li>
<li><a href="conseils.html">Conseils</a></li>
<li><a href="solariums.html">Solariums</a></li>
<li><a href="produits.html">Produits</a></li>
<li><a href="tarifs.html">Tarifs</a></li>
<li><a href="photos.html">Photos du Centre</a></li>
<li><a href="contact.html">Contact / Plan</a></li>
</b>
</ul>
Il faudrait écrire:
<ul style="font-weight: bold;">
<li><a href="index.html">Accueil</a></li>
<li><a href="conseils.html">Conseils</a></li>
<li><a href="solariums.html">Solariums</a></li>
<li><a href="produits.html">Produits</a></li>
<li><a href="tarifs.html">Tarifs</a></li>
<li><a href="photos.html">Photos du Centre</a></li>
<li><a href="contact.html">Contact / Plan</a></li>
</ul>

Même si dans l'idéal on écrira plutôt:
<ul id="nav">
<li><a href="index.html">Accueil</a></li>
<li><a href="conseils.html">Conseils</a></li>
<li><a href="solariums.html">Solariums</a></li>
<li><a href="produits.html">Produits</a></li>
<li><a href="tarifs.html">Tarifs</a></li>
<li><a href="photos.html">Photos du Centre</a></li>
<li><a href="contact.html">Contact / Plan</a></li>
</ul>

Et en CSS:
#nav {
  font-weight: bold;
  /* D'autres propriétés, en fonction du rendu souhaité */
}
Florent V. a écrit :

Même si dans l'idéal on écrira plutôt:
<ul id="nav">
<li><a href="index.html">Accueil</a></li>
<li><a href="conseils.html">Conseils</a></li>
<li><a href="solariums.html">Solariums</a></li>
<li><a href="produits.html">Produits</a></li>
<li><a href="tarifs.html">Tarifs</a></li>
<li><a href="photos.html">Photos du Centre</a></li>
<li><a href="contact.html">Contact / Plan</a></li>
</ul>

Et en CSS:
#nav {
  font-weight: bold;
  /* D'autres propriétés, en fonction du rendu souhaité */
}


Merci, j'ai retenu cette dernière solution pour les LI, il me reste plus qu'à me pencher dans le CSS.
Si j'ai bien compris le principe, il faut créer un CSS et le mettre en lien dans le META du html puis créer des ID lié avec chaque DIV correspondant. Je vais y aller à taton comme d'hab
Je commence à placer mes id dans le CSS et dès le 2nd, ça bug... lol

J'ai mis ceci dans le css avec div prin pour le texte en générale apres je voulais créer un id pour chaque texte qui n'aurais pas la meme police, exemple, mon copright qui doit etre plus petit.

Malgré tout ca, rien ne change.

a écrit :
#divprin {
color: #FFFFFF;
font-size: 3;
font-family: Helvetica, arial, sans-serif;
text-align: center;
}

#copyright {
font-size: 2;
}
Un grand merci à tous, je n'ai plus de décalage entre firefox et IE...

Au final, j'aurais donc :
- créer un fichier CSS style_div.css (validé par W3c)
- modifié mon html (validé par w3c)
- modifier mon doctype en html 4.01
- ajouter la norme de caractère iso-8859-1

Il me reste quelques questions tout de même :
- est-il nécéssaire que je bascule aussi les position et taille dans le css?
- doit-on avoir un fichier css par page html ou le même est suffisant sachant que j'ai que 6 pages?
- J'ai été obligé de supprimer les balise <h1> et <h2> car le css ne changé rien mais je voudrais les remettre pour le référencement... que faire?
Modifié par pika28 (11 Sep 2009 - 12:17)
Si je confond, je viens de corrigé.

Suite à un post exemple du net, j'ai remis les balise h1 en les formatant dans le css avec h1{ et non .h1{ qui créer une class. Par contre du coup, le décalage revient quand je place les balise h1.

Elles sont encore utilisable ces balises?
Elles sont parfaitement utilisables et valides, et recommandées Smiley lol

Le décalage vient sûrement des styles par défaut. Les navigateurs mettent un margin et/ou padding sur ce genre de balises, à toi de spécifier les tiennes
je suis encore un peu novice sur le sujet alors si je pouvais avoir quelque precision, tu me conseil de rajouter pour les paramètres h1{ un padding=0 et un margin=0

et pour les autres questions?
- est-il nécéssaire que je bascule aussi les position et taille dans le css?
- doit-on avoir un fichier css par page html ou le même est suffisant sachant que j'ai que 6 pages?
Oui, il te faut spécifier si tu ne veux pas de marge ou de padding. On peut utiliser une CSS qui reset tout, genre la célèbre Eric Meyer's Reset CSS (sujet à débats).

Sinon les tailles ou positions sont à laisser tel quel par défaut, sauf si tu dois les modifier bien-sûr.

Ensuite pour le CSS par page, faut voir suivant ton cas. Tu peux tout mettre dans un CSS général, sachant que certaines règles ne serviront potentiellement à rien (genre pour les règles pour un formulaire de contact ne serviront à rien pour la page d'accueil). Tu peux séparer entre un truc global, puis des CSS spécifiques pour chaque page, à voir.
Et voila, j'ai validé tout mon site et tout corrigé. Plus de différence entre firefox et internet explorer. (enfin presque, juste la taille du bloc de saisie texte dans la page contact)

A ce niveau, faut-il que je passe également le positionnement et la taille de chaque div dans le CSS, ca va changer quelque chose à part le clareté?

Si quelqu'un a une observation .... www.bluebox-chartres.com