5568 sujets

Sémantique web et HTML

Bonjour,
J'ai eu un problème d'affichage aujourd'hui, et je viens de trouver la solution, mais je me pose une question.
Quel est le rôle du Doctype exactement ?

Je suis en train de créer une application web, et je me suis retrouvé coincé car l'affichage ne fonctionnait pas sur... enfin, vous savez quel navigateur ( IE =° ), huitième du nom.
J'ai donc cherché, et au bout d'un moment, j'ai trouvé que IE8 ne gérait pas ma classe multiple (.classe1.classe2 { ... } ).
Après quelques recherches sur internet, j'ai trouvé (encore), qu'il s'agissait peut-être du DOCTYPE.
En effet, j'ai reproduit un petit code qui me permettait de le tester.

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="style.css" />
    </head>
    <body>
        <p class="italic bold">
            Mon paragraphe
        </p>
        <p class="bold">
            Mon paragraphe 2
        </p>
    </body>
</head>
.italic {
    font-style : italic;
}
.bold {
    font-weight : bold;
}
.italic.bold {
    color : red;
}


J'ai donc pu voir que le .italic.bold était utilisé pour un noeud ayant la classe 'bold' (même sans italic).
En rajoutant un petit doctype:
<!DOCTYPE html>


Le style ne s'appliquait bien plus qu'aux éléments de classe 'italic' ET 'bold'.

Comment cela se fait-il ? Quel est le rôle et l'importance du Doctype ? Je pensais que c'était le navigateur qui interprétait le code html et css reçu pour l'affichage.
Modifié par Gothor (30 Dec 2011 - 15:17)
Bonjour,
Gothor a écrit :
Quel est le rôle du Doctype exactement ?
Le doctype (contraction de document type) a pour rôle d'indiquer ce que contient le document. Pour l'HTML, il indique au navigateur quelle version du langage il utilise et en quel mode (strict, transitionnel, frameset).

Il est important de spécifier le doctype, car sans lui le navigateur fait un peu ce qu'il veux.

Gothor a écrit :
Je pensais que c'était le navigateur qui interprétait le code html et css reçu pour l'affichage.
Oui, et le doctype est là pour lui dire comment l'interpréter.