2011-04-12 3 views
2

J'ai les sélecteurs d'identifiants ci-dessous dans un fichier CSS. Headerphoto et logo-box sont des id-sélecteurs internes de l'identifiant d'en-tête. Ai-je vraiment besoin d'ajouter ces deux en tant que sélecteurs d'identifiants internes? Je peux les ajouter comme des sélecteurs d'identifiant normaux. Quelle est la meilleure façon de faire cela? Quels sont les avantages et inconvénients?Sélecteurs d'identifiants internes CSS

Merci!

/* Header styles */ 
#header { 
    position: relative; 
    height: 176px; 
    text-align: left;  
    margin: 0; padding: 0; 
    background: #FFF; 
} 

#header #headerphoto { 
    position: absolute; 
    right: 15px ; top: 15px; 
    width: 455px; 
    height: 156px; 
    background: #FFF url(headerphoto.jpg) no-repeat; 
} 

#header #logo-box { 
    position: absolute; 
    left: 15px ; top: 15px; 
    width: 280px; 
    height: 156px; 
    background:#1c1e27; 
} 

Répondre

3

Il n'a pas d'importance tant que seule une des #headerphoto et #logo-box existe sur chaque page et vous êtes sûr que la structure de ces trois éléments sera le même.

Il ne fait que vraiment questions pour ajouter le si ID #header, sur certaines pages, #headerphoto et #logo-box apparaissent dans des éléments qui ne sont pas id="header", votre feuille de style est utilisé par toutes ces pages, et vous voulez que les styles à appliquer si et seulement si ces éléments sont dans celui-là. Mais dans un tel cas, cela rendrait la structure de votre page plutôt incohérente, n'est-ce pas?

En ce qui concerne la performance, que ce soit plus rapide, plus lent ou même pour nicher sélecteurs d'identité, je ne me soucie pas, et vous ne devriez, l'auteur stylesheet, puisque sélecteurs d'identification sont déjà le plus rapide de toute façon.

+1

Ensuite, parfois, j'ajoute les sélecteurs d'ID externes juste pour regrouper ces éléments de manière logique dans ma feuille de style. Par exemple, ces éléments se trouvent dans '# header', donc ils sont quelque peu liés. L'ajout du sélecteur '# header' indique visuellement cette relation. Donc, d'une certaine manière, le code se documente. Maintenant, je pourrais vraiment utiliser des commentaires à la place, mais sérieusement, je m'en fous. – BoltClock

+0

Merci :-) Quelle est votre opinion sur ci-dessous "Jochen Hilgers" réponse? – CharithJ

+0

@CharithJ: Pas si sûr de ça. – BoltClock

1

Vous n'avez pas besoin d'ajouter le sélecteur #header, mais j'ai entendu dire que le rendu de la page est plus rapide, plus le sélecteur est précis. À mon avis, cela n'a pas d'importance.