5568 sujets

Sémantique web et HTML

Bonsoir,
Je me pose la question concernant les bonnes manières de faire son code. Il est courant de mettre le style de la page su une feuille CSS séparée, mais est-il aussi convenable de le mettre entre les balises <head> ?

Je compte afficher une image de fond aléatoire. Dans ce cas j'ai deux choix :
- Soit faire n feuilles correspondant à n images et en appeler une au hasard pour background1.jpg, background2.jpg...
- Soit mettre entre les balises <head> une déclaration du style

<style type="text/css">#conteneur{background-image:url(background<? echo rand(1,5); ?>.jpg) no-repeat}</style>


La deuxième solution serait moins ridicule mais quid de l'accessibilité, etc. ?
Modifié par darkstar2023 (19 Dec 2009 - 20:30)
Salut,

darkstar2023 a écrit :
est-il aussi convenable de le mettre entre les balises <head> ?
Qu'appelles-tu convenable ?

Il existe 3 méthodes pour déclarer du code css :
* une feuille de style externe en .css
* l'élément STYLE placé dans le HEAD qui contient les déclarations
* l'attribut style au niveau de l'élément

Elles sont toutes convenables mais il est préconisé lorsque cela est possible d'utiliser un fichier externe car (parmi d'autres bonnes raisons) :
* il va être utilisé pour toutes les pages du site
* cela simplifie la maintenance
* il va rester en cache par défaut et sera lu une fois pour toutes
* ...


Pour ce qui est de ton besoin il y a plusieurs manières de faire mais avoir plusieurs feuilles de style est certainement la moins bonne.

Tu peux effectivement faire la déclaration dans l'élément STYLE. Soit comme tu le fais dans ton code soit en faisant porter le random sur une classe différente à affecter (cela ne change pas grand chose en l'occurrence).

Juste pour info il est également possible d'utiliser une feuille de style qui contient du code php. Faire une recherche sur feuille css dynamique.

darkstar2023 a écrit :
La deuxième solution serait moins ridicule mais quid de l'accessibilité, etc. ?
L'accessibilité concerne le fait de pouvoir accéder au contenu d'un site et de pouvoir utiliser les services qui sont proposés... donc rien à voir ici. Smiley cligne
Modifié par Heyoan (19 Dec 2009 - 00:23)
Bonjour,

Je viens renforcer le point de vue d'Heyoan qui est préférable à l'insertion d'une feuille de style css externe.

Pour moi, cette méthode est plus propre et facilite grandement la maintenance de son propre site web.
Juste une petite remarque : Le fait d'inclure tout son code css par l'intermédiaire de l'élément ou de l'attribut style dans la page html alourdit-il la taille de la page web ?
'lut,

jQz a écrit :
Le fait d'inclure tout son code css par l'intermédiaire de l'élément ou de l'attribut style dans la page html alourdit-il la taille de la page web ?
Eh bien oui dans les 2 cas. Même si ensuite la page est mise en cache (naturellement par le navigateur ou via une gestion personnalisée) le premier affichage (de chaque page) sera effectivement plus lourd.
En fait pour l'accessibilité j'employais le faux mot, je croyais plutot que mettre des attributs de style directement dans les balises <div style=""> ou entre les balises <head> étaient des pratiques dépréciées...
darkstar2023 a écrit :
En fait pour l'accessibilité j'employais le faux mot, je croyais plutot que mettre des attributs de style directement dans les balises <div style=""> ou entre les balises <head> étaient des pratiques dépréciées...


Non, insérer du code css par l'intermédiaire de l'élément style placé dans le head ou de l'attribut style ne sont pas des pratiques dépréciées par le w3c.

Par exemple, le code qui suit est valide :


<div id="page" style="border: 1px solid #c00;"></div>


Mais comme Heyoan l'a confirmé :

Heyoan a écrit :
Eh bien oui dans les 2 cas. Même si ensuite la page est mise en cache (naturellement par le navigateur ou via une gestion personnalisée) le premier affichage (de chaque page) sera effectivement plus lourd.


Donc je pense que cette méthode n'est pas une bonne choses pour les raisons citées ci-dessus et, elle n'est pas judicieuse pour les internautes ayant une petite connexion internet Smiley cligne .
darkstar2023 a écrit :
je croyais plutot que mettre des attributs de style directement dans les balises <div style=""> ou entre les balises <head> étaient des pratiques dépréciées...
Eh bien dès que c'est possible l'utilisation d'une feuille de style externe est à privilégier (pour les raisons énoncées plus haut) mais il existe des cas comme le tien (css dynamique) ou d'autres (mail html...) pour lesquels il faut s'adapter. Smiley cligne
En fait je posais la question car personnellement je ne faisais que comme ça au lycée lors de mes premiers pas en HTML (j'ignorais l'existence du "CSS", et je faisais des table/span style="" html (je renommais les pages .htm en php pour faire genre "je connais le php" Smiley biggol )
Modifié par darkstar2023 (20 Dec 2009 - 01:09)