0
votes

CSS ne s'appliquera pas à un identifiant uniquement à son enfant

J'ai le code suivant, j'applique un style à

#headingGroup h2{
    font-weight: 100;
    font-size: 3rem;
}


3 commentaires

Cela devrait fonctionner ... mais si H2 a des style, ils seront plus forts que le style d'identification parent. Faites quelque chose est défini pour Font-Poids ou Taille de police sur la console de développement lorsque vous sélectionnez un H2 ?


D'accord avec @Arthur, avec les deux premiers échantillons de code que vous avez fournis, cela devrait fonctionner. Y a-t-il d'autres classes primordiales impliquées?


Comme je le dis avant votre mise à jour, votre problème n'est pas à cause de l'identifiant, mais parce que le navigateur applique un style par défaut sur H2 et ce style est plus fort que le sélecteur parent (l'ID ou une classe .. .)


4 Réponses :


-5
votes

Ajouter une classe au lieu de l'ID. Définissez ensuite CSS pour cette classe


2 commentaires

Non, juste non. Cela ne changera rien (sauf pour réduire la force de la mission mais dans ce cas ... non!)


Si vous vérifiez votre lien CSS ou SRC ... est-ce externe CSS



-2
votes

Vous utilisez id_selectorThis Sélecteur d'identification permet de sélectionner un élément unique! Pour sélectionner un élément avec un identifiant spécifique, écrivez un caractère de hachage (#), suivi de l'ID de l'élément.

one fonctionne comme vous spécifiez que Appliquez le changement sur H2 qui est une partie de div ayant identifiant #headinggroup xxx

}


3 commentaires

Très pas clair ce que vous essayez de dire, semble être la même conclusion que l'affiche originale atteinte.


Non non et non! CSS est Feuilles de style en cascade !!! Donc, le style sera également utilisé pour tous les enfants


Il est généralement une meilleure pratique d'utiliser des cours pour le style des ID pour promouvoir la réutilisation et éviter la spécificité excessive.



1
votes

edit: strong> Comme prévu sur le commentaire avant votre mise à jour Votre navigateur ajoutez un style par défaut à H2. Exactement comme si vous avez ceci en haut de votre code CSS:

<p>I'm a text without style</p>
<h2>I'm not on headingGroup</h2>
<div id="headingGroup">
  <h2>Some Heading</h2>
  <p>I'm not a title</p>
</div>


2 commentaires

Cette réponse est techniquement précise en termes d'explication de la hiérarchie des identifiants, de la nidification et des classes de base. Mais en recommandant toujours à l'aide d'un identifiant au lieu d'une classe, vous serez coincé avec un seul ensemble de styles qui ne peuvent être appliqués qu'à un seul élément de la page. Chaque fois que vous créez un nouvel élément de groupe sur la même page, vous devez créer un nouvel identifiant et de nouveaux styles.


Je suis d'accord, mais ce n'est pas le sujet de la question.



2
votes

Qu'est-ce qui se passe dans votre premier extrait est le #headinggroup des styles de base H2 H2 du navigateur.

Mais, il n'est généralement pas meilleur pratique pour utiliser des identifiants, voire des éléments racines, pour CSS. La raison en est que cela devient beaucoup plus difficile de contrôler la cascade, remplace vos styles plus tard ou réutilisez vos styles.

au lieu de cela, faites une classe que vous pouvez appliquer directement à votre < Code> H2 éléments et réutilisation ailleurs, comme:

CSS: xxx

html: xxx < / Pré>

Si vous préférez une seule classe sur un conteneur de niveau supérieur, vous devrez appliquer la spécificité et le style du H2 , de la même manière que vous faites dans votre deuxième exemple. Mais l'utilisation d'une classe est toujours préférable au style contre votre identifiant. Pensez à la façon dont vous voudrez peut-être que les mêmes styles appliqués à un autre bloc plus tard! Par exemple:

CSS: xxx

html: xxx


7 commentaires

Non, ID est entièrement valide et acceptable, lisez ma réponse et essayez des codes pour voir que vous n'avez aucun problème à utiliser ID.


Arthur, avec tout le respect due, tandis que c'est possible de style à l'aide d'un identifiant, il est généralement fronçant les sourcils. Les identifiants doivent être propres à une page et conviennent mieux à cibler des éléments individuels (tels que l'ajout de fonctionnalités avec JavaScript). Efforcez-vous d'une meilleure réutilisation et de coller avec des classes pour le code de sécheuse.


Oui .. L'identifiant doit être unique et ... ?? Ce n'est pas le sujet dans cette question et votre réponse ne répond pas au problème, mais "Vous pouvez utiliser la classe au lieu d'identifiant". ID DO Soyez unique mais peut être utilisé pour une partie unique de votre Site Web (exemple, mise en page, bar NAV, etc.) et devrait fonctionner (même si vous pensez fronça les sourcils). Aussi, je vous connaissais à propos de Force CSS Vous savez que l'identification peut avoir une utilisation spéciale en CSS aussi.


Désolé, mais je sais certainement tout sur la spécificité CSS et les problèmes qui y sont. C'est précisément pourquoi je recommanderais contre à l'aide d'un identifiant de coiffage, sauf dans des cas extrêmement inhabituels, de la même manière que je recommanderais de l'utilisation de styles intégrés ou de IMPORTANTES . Juste parce que vous peut faire quelque chose, cela ne signifie pas que vous devrait .


Juste pour la fermer. La règle sur l'identifiant doit être unique sur HTML, bien (et c'est tout). Mais ce n'est pas la question (CSS ne s'appliquera pas à une carte d'identité uniquement à son enfant), et la solution n'est pas "Vous devez utiliser H2 " (vous ne répondez pas Ici) .. Deuxième point, si l'ID de coiffage (ou en utilisant! Important) était inutile, il a été obsolète depuis longtemps, et ce n'est pas le cas. Parce que c'est utile, et non recommandé pour éviter les problèmes («Utilisez uniquement des cours et vous n'ayez aucun problème») mais vous savez, Bootstrap a plus de 1000 ! IMPORTANT Déclarations.


(et je suis pas dire ici que l'ID devrait être utilisé pour une composante réutilisable ou! important pour résoudre rapidement un problème)


Il n'y a jamais d'une solution unique dans le code. Mais je pense qu'il est important de mettre en garde nos réponses ici d'une manière qui aide à amener les autres à mieux les pratiques. Qu'il s'agisse d'utiliser ou non un identifiant ou une classe peut être très confus aux nouveaux développeurs. Je pense que ma réponse explique la question (la Déclaration d'identification ne remplace pas les styles HTML de base) et offre une alternative suggérée qui atteint les objectifs principaux de l'OP de manière plus réutilisable / industrielle. Je ne sais pas pourquoi vous prenez problème avec cela. ¯ \ _ (ツ) _ / ¯