[HTML/CSS] Conflit de noms : ids et classes uniques
9 messages
• Page 1 sur 1
-

dorian53 - WRInaute passionné

- Messages: 2215
- Inscription: 10 Avr 2005
[HTML/CSS] Conflit de noms : ids et classes uniques
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
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é

- Messages: 526
- Inscription: 1 Sep 2004
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
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.
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

- Messages: 11878
- Inscription: 5 Juin 2006
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
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é

- Messages: 2215
- Inscription: 10 Avr 2005
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
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.
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

- Messages: 11878
- Inscription: 5 Juin 2006
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
ou alors ils ont des regles de nommage, et c'est clair pour eux
-

Leonick - WRInaute accro

- Messages: 19592
- Inscription: 8 Aoû 2004
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
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.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.
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

- Messages: 17013
- Inscription: 23 Fév 2004
Re: [HTML/CSS] Conflit de noms : ids et classes uniques
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 {}

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 {}
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Classes CSS et balises html
- noms des classes et referencement
- conflit noms de domaines ?
- Css et nom des classes
- Javascript galerie d'images (SmoothGallery) Conflit CSS
- Utilité ou pas d'inclure des mots clés dans des classes css
- noms de fichiers html d'un site multilingue
- [HTML/CSS] Problème DIV
- L'option '' Rechercher '' En HTML , CSS
- html, xhtml, javascript et css
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

