[HTML/CSS] Conflit de noms : ids et classes uniques


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

[HTML/CSS] Conflit de noms : ids et classes uniques

Message le Jeu Mar 17, 2011 16:58

Bonjour,

Aujourd'hui pour optimiser la vitesse de nos sites, nous fusionnons tous les fichiers de même type : CSS, JS, images, etc...

Question
Sur un site de plusieurs dizaines (centaines de pages), comment définissez-vous le nom des ids et classes de vos éléments HTML ? Avez-vous une convention pour qu'ils soient uniques ?

Problème
Si sur une page A je nomme un élément avec un id à "title" et que sur une page Z bien au fond de l'arborescence je redéfinis un élément "title" avec une mise en forme différente. Avec cette nouvelle définition, je vais surcharger mon 1er id "title" dans mon CSS et l'affichage de A sera perturbé par la mise en forme de Z. Même problématique si l'on imaginait la gestion d'évènements JavaScript liés aux ids ou classes d'éléments.

Proposition
Une solution toute simple consisterait à préfixer chaque id et classes par le path de page : news_sport_foot_title
Le problème est que cela donne des noms bien trop longs, pénibles à exploiter et surcharge le poids des fichiers.

Qu'en pensez-vous ?

Merci
Dorian


MarvinLeRouge
WRInaute impliqué
WRInaute impliqué
 
Messages: 526
Inscription: 1 Sep 2004

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Ven Mar 18, 2011 9:29

Salut,

Si le nom #title est cohérent sur les 2 pages, alors tu peux éventuellement coller un id à chaque page, sur le body, et faire une règle du genre #title quand tu la définis (puisque c'est alors un comportement par défaut et que tu ignores potentiellement s'il y aura différents cas), et #pageZ #title quand tu définis une variante.
Après tout, d'un point de vue langage, un id doit être unique par page, puisque c'est la seule unité de contexte de base.


Marie-Aude
Modérateur
Modérateur
 
Messages: 11878
Inscription: 5 Juin 2006

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Ven Mar 18, 2011 10:51

Tu peux aussi faire des fichiers css supplémentaires spécifiques à certaines pages, et ne le charger dans ton exemple que sur la page z


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Ven Mar 18, 2011 19:20

Je dois être le seul à me poser ce genre de question en fait :)

Mettre un id au body avec le nom de la page, oui j'aime bien c'est également ce que je fais.
Par contre la règle devient plus lourd mais l'id de la page permet bien de gérer "un préfixe" et d'atteindre uniquement l'élément concerné.

Un fichier par page et règles spécifiques, je faisais ça au début mais pour optimiser je ne veux plus appeler plusieurs fichiers.

Comment font les gros sites pour avoir des ids et noms de classes "short" incompréhensibles :
- az47
- gKl247
- ee_o8

Il utilise des outils qui compactent ?

J'imagine qu'au final chacun à sa propre organisation.


Marie-Aude
Modérateur
Modérateur
 
Messages: 11878
Inscription: 5 Juin 2006

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Ven Mar 18, 2011 19:49

ou alors ils ont des regles de nommage, et c'est clair pour eux


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19592
Inscription: 8 Aoû 2004

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Ven Mar 18, 2011 23:14

dorian53 a écrit:Un fichier par page et règles spécifiques, je faisais ça au début mais pour optimiser je ne veux plus appeler plusieurs fichiers.
non, en fait ce qui est plus pratique, c'est d'avoir un "gros" fichier css, avec toutes les règles communes à l'ensemble du site, puis, un 2) fichier css avec des règles spécifiques à certaines pages ou répertoires. En plus, ce fichier étant appelé après le 1°, on peut en profiter pour surcharger les règles définies dans le fichier commun.
le spécifique doit être très léger, histoire de garder une harmonie générale dans la présentation du site


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Sam Mar 19, 2011 2:57

Pour rappel, le C de CSS c'est pour "Cascaded": tu dois travailler avec une forme d'héritage et de dépendance.

Tu peux avoir différents éléments dont l'ID est "title", mais utilisés différemment, par exemple:

#title {} // trop global

h1#title {}
p#title {}
div#title {}

et je te passe les

div#top ul#foo li.bar h1 {}

;)


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Sam Mar 19, 2011 10:29

La technique de WP est pas mal je trouve: une class sur le body en fonction du template (archives / single / home / ...).


dorian53
WRInaute passionné
WRInaute passionné
 
Messages: 2215
Inscription: 10 Avr 2005

Re: [HTML/CSS] Conflit de noms : ids et classes uniques

Message le Lun Mar 21, 2011 9:47

Merci pour vos réponses, je vais continuer à faire un mixte de tout ça.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités