petit novice a écrit :
Ps: Si on veut vraiment comprendre le CSS+Xhtml et faire quelque chose d'asssez évolué , croyez moi ce n'est pas facile ( en tot cas en ce qui me concerne ) .
je ne sais plus cela doit être sur openweb ou pompage, ou il est inscrit que c'est pas facile, contrairement à plusieurs autres sites qui affirment le contraire.
En fait, c'est facile et compliqué à la fois. Par rapport à la méthode "à l'ancienne" pour faire des pages web, où on devait surcharger la page HTML avec du code gérant la présentation graphique, les CSS sont assez faciles d'utilisation. Mais en général, les sites qui font la promotion des CSS confondent facilité et puissance. Commes les CSS sont très puissantes et, dans une certaine mesure, facile d'utilisation pour les personnes déjà familiarisées avec l'édition de documents pour le web, on a tendance à affirmer que « Si si, vous verrez, c'est super facile ! », avant de se rendre compte que ça demande en fait un certain investissements.
Surtout en l'absence d'éditeurs (logiciels) bien fichus et accessibles aux non experts.
Je reviens sur la question qui nous occupe :
Les "div id" et les "div class" n'existent pas
Désolé, ça risque de t'embrouiller un peu, mais il faut crever l'abcès : il me semble que tu as compris quelque chose de travers dès le début, et si tu continues comme ça ça risque de t'embêter par la suite.
Tu parles de "div id" par opposition à des "div class". C'est peut-être juste une erreur d'expression (quoiqu'elles soient souvent révélatrices), mais tu as l'air d'opposer deux éléments distincts. Il va falloir faire un rappel.
Il s'agit dans les deux cas d'un unique élément HTML, nommé "div". Cet élément est composé de deux balises, une balise ouvrante "<div>" et une balise fermante "</div>", ainsi que d'un contenu placé entre ces deux balises (du texte, d'autres éléments HTML, etc.). Enfin, la première balise (la balise ouvrante), comme pour tout élément HTML, peut accueillir un ou plusieurs attributs, composés pour chacun d'un nom d'attribut, d'un signe "=", et d'une valeur d'attribut.
On récapitule :
Élément
balise (cet élément n'existe pas, il est fictif) :
<balise attribut1="valeur" attribut2="valeur">Contenu</balise>
(ou encore...)
<balise>Contenu</balise>
Élément
div :
<div attribut2="valeur" attribut1="valeur">Contenu</div>
(ou encore...)
<div>Contenu</div>
Mais alors c'est quoi "id" et "class" ?
Maintenant qu'on a vu la différence entre élément, balise est attribut, on peut affirmer que :
– Une "div" est un élément HTML composé de deux balises (ouvrantes et fermantes) englobant un contenu.
– Dans l'élément "div" suivant :
<div class="valeur">Contenu</div>, les lettres "div" que l'on retrouve en début de balise ouvrante et dans la balise fermante correspondent au nom de l'élément.
– Dans ce même exemple, "class" est un attribut, auquel correspond une valeur. En tant qu'attribut, il n'est pas indispensable à l'élément. On ne peut donc pas parler de "div class" comme étant un élément unique.
– De même, "id" est un attribut, qui n'est pas indispensable à l'élément.
– On peut avoir zéro, un ou plusieurs attributs (avec leurs valeurs) pour un élément. Tous ces attributs seront placés dans la balise ouvrante de l'élément, après le nom de l'élément, et dans l'ordre que l'on voudra.
– Les attributs ne s'excluent pas mutuellement. C'est à dire que l'on pourra très bien écrire :
<div class="maclasse" id="identifiant">Contenu</div>
(ou encore, écriture équivalente...)
<div id="identifiant" class="maclasse">Contenu</div>
Bon d'accord les "id" et les "class" c'est des attributs, mais on ne les utilise pas uniquement avec des "div" ?
Non, pas du tout. Tout élément HTML peut avoir des attributs, et les attributs "id" et "class" sont utilisables avec tous les éléments HTML décrivant un contenu (c'est à dire, dans une page, tous ceux qui sont placés au sein de l'élément "body", entre la balise "<body>" et la balise fermante "</body">... Rappel : l'élément "body" correspond au corps de page, et la grande majorité des éléments HTML présents dans le code d'une page web sera contenue au sein de cet élément).
On peut donc écrire :
<h2 class="titre">Ceci est un titre</h2>
<p id="premierparagraphe">Bla bla bla...</p>
<blockquote class="citation">Ma citation</blockquote>
Par exemple.
------------------------------------------
Voilà. Pour la différence entre l'attribut "id" et l'attribut "class", Raphael a donné un lien vers un article d'Alsacréations qui me semble sufisamment clair :
http://css.alsacreations.com/Bases-et-indispensables/Quelle-est-la-difference-entre-une-classe-et-un-id
Dans la foulée, j'ai aussi écrit (pas pour l'occasion, hein !) un petit cours d'initiation HTML + CSS disponible à l'adresse suivante :
http://web.covertprestige.info/cours-htlm/
Je ne suis pas sûr qu'il soit totalement clair, mais je pense ne pas y avoir écrit (trop) de bêtises...
Modifié par mpop (17 Mar 2006 - 17:26)