5568 sujets

Sémantique web et HTML

Bonjour,
je me demande, s'il est possible d'inclure une feuille de style ou tout simplement une liste de style (<style> .... </style>) à l'extérieur du head (donc dans le body).

Par exemple, je développe une classe PHP, et j'aimerais avoir directement les styles en déclarant un nouvel objet de ma classe. Donc, pas besoin de modifier le head du site Web.

J'ai de gros doute, question de validation (W3C)... j'imagine que certains fureteurs vont l'accepter, mais est-ce "légal" ? Smiley confus

Je vous remercie.
Cordiales salutations, Patrick
Merci pour l'information, je n'ai pas pensé regarder l'élément directement. Par contre, mon questionnement tient toujours... C'est-à-dire que je crois que cela serait moins compliqué si une classe pouvais inclure elle-même ses propres styles automatiquement. Sauf, si je vois la situation du mauvais point de vue, donc que ce n'est pas une pratique valide au niveau de la logique. Dans ce cas, j'aimerais bien avoir un avis et vos opinions à ce propos.

Merci.
Salut,

normalement avec php, dans le cadre d'un site, tu vas juste créer ton code html. Par exemple la classe menu va te générer :


<ul>
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
</ul>


si tu veux distinguer ta liste de lien d'un autre, tu vas rajouter un id ou une classe à ta liste :


<ul class="menu">
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
  <li><a href="#">lien</a></li>
</ul>


et formater avec ta .css :


#menu a{
color : red;
}


Niveau maintenance est compréhension du code, c'est plus simple d'avoir tout dans une css séparée. Si ton code html est bien fait, tu pourras formater la totalité de ta page sans avoir à tripatouiller tes classes php.
Modifié par bzh (18 Mar 2009 - 23:14)
Tu peux définir des styles CSS pour un élément particulier dirrectement dans le HTML avec

<p style="propriétéCSS:valeur;">


Mais on perd les avantages de la séparation de la forme et du contenu (surtout niveau maintenance).
Problème connu lié à la présences de styles dans BODY: le navigateur peut geler le rendu de la page et afficher une page blanche tant que le code HTML complet de la page n'est pas chargé. Voir ici:
http://developer.yahoo.com/performance/rules.html#css_top

a écrit :
je crois que cela serait moins compliqué si une classe pouvais inclure elle-même ses propres styles automatiquement

La question tient également pour les scripts JS qui, eux, devraient être placés en fin de BODY.

Solution: chaque module utilisé enregistre séparément (dans des variables ou objets) les contenus HTML à générer, les styles CSS à inclure ou appeler, et les scripts JS à inclure ou appeler. Au moment du rendu des pages, on compile les contenus des différents modules pour que chaque chose soit à sa place.

Avec un bon système de templating, ça devrait être possible. Certains frameworks de développement web, voire certains CMS bien fichus, gèrent peut-être cet aspect également.
Modérateur
Bonjour,

patbourgoin a écrit :

Par exemple, je développe une classe PHP, et j'aimerais avoir directement les styles en déclarant un nouvel objet de ma classe. Donc, pas besoin de modifier le head du site Web.


Je ne sais pas pour le PHP, mais avec Coldfusion, il est possible de générer un contenu dans le head de la page qui appelle le script. Il existe sans doute un équivalent pour PHP. Bref, il faudrait trouver un moyen que la classe place le code HTML/CSS requis directement dans le HEAD de la page où cette classe est incluse.
Modifié par Tony Monast (19 Mar 2009 - 18:21)