L'ordre de la feuille de style css définitions de la matière?
J'ai plusieurs feuilles de style. La première est une feuille de style avec certains styles que je voudrais utiliser comme valeurs par défaut. En fonction de plusieurs facteurs, le code utilisé pour générer la page peuvent inclure des feuilles de style avec des valeurs qui devraient remplacer les valeurs par défaut.
Si j'utilise cela, puis-je faire confiance que les valeurs dans la feuille de style par défaut seront remplacées par les valeurs de l'autre feuille de style? Je suis à l'aide des sélecteurs de classe et remplace les valeurs lorsque les noms de match.
<link href="defaults.css" rel="stylesheet" type="text/css"/>
<link href="valuestooverridedefaults.css" rel="stylesheet" type="text/css"/>
Ce besoin de travailler sur tous les navigateurs, y compris mobile. J'aimerais éviter d'avoir à utiliser "!important", si possible.
Merci!
- Wow, les gars. C'est beaucoup de réponses identiques. lol en tout cas, @Jon, vous pouvez trouver cet article utile. Il explique tout très clairement. hungred.com/useful-information/css-priority-order-tips-tricks
Vous devez vous connecter pour publier un commentaire.
Il est défini cascade dans lequel les styles sont triés et appliquée.
Lorsque des déclarations ont le même de l'importance (poids), origine et spécificité puis la dernière déclaration gagne. La plupart des réponses couvrir importance et spécificité ici, mais pas origine.
Voici quelques très bonnes diapos sur CSS Cascades.
Si les sélecteurs sont identiques, le dernier chargement prend le pas, juste que si vous avez déclaré la même classe deux fois dans la même feuille de style.
Si vous avez défini un style un sélecteur dans plus d'un fichier css, le style de la dernière chargé fichier CSS seront prises
La réponse est "oui", comme vous l'avez remarqué, lorsque les sélecteurs sur la deuxième feuille sont identiques à la première.
L'utilisation de
!important
sera l'exception, donc l'éviter, comme vous avez aussi remarqué.Oui, c'est de savoir comment les feuilles de style de travail. La dernière que l'on gagne.
Juste être sûr que la spécificité de la feuille de style par défaut n'est pas plus grand que votre remplacement. Et oui, à éviter !important si vous le pouvez. C'est tout simplement ridicule.
yep - l'indice sur le nom en cascade des feuilles de style. Donc, une ligne de style écrase un style qui est définie dans la tête et un style dans la tête va écraser un style dans une feuille de style. La dernière feuille de style de la charge pourrait écraser les styles dans la précédente chargée. Si vous utilisez quelque chose comme firebug ou l'inspecteur de chrome, il va vous montrer où chaque style vient ou ce qu'il a overidden.
La réponse simple est oui. Tout les styles de re-déclaré plus bas dans les pages qui vont remplacer les classes déclaré plus tôt dans le chargement de la page.
Pour que cela fonctionne, la deuxième déclaration de la classe doit être en possession de l'héritage.
Classes comme .contenu{} et .corps .contenu{} peuvent se comporter différemment lorsque des styles hérités.