YUI Réinitialiser CSS fait que <strong><em>cela ne fonctionne pas</em></strong>
Question
Cette ligne dans YUI Réinitialiser le CSS ça me pose problème :
address,caption,cite,code,dfn,em,strong,th,var {
font-style: normal;
font-weight: normal;
}
Cela fait mon em
pas en italique et mon strong
pas audacieux.Ce qui est bien.Je sais comment remplacer cela dans ma propre feuille de style.
strong, b
{
font-weight: bold;
}
em, i
{
font-style: italic;
}
Le problème survient lorsque j'ai un texte à la fois em
et strong
.
<strong>This is bold, <em>and this is italic, but not bold</em></strong>
Ma règle pour strong
le rend audacieux, mais la règle de YUI pour em
ça rend les choses à nouveau normales.Comment puis-je résoudre ce problème ?
La solution
Si votre déclaration forte intervient après celle de YUI, la vôtre doit la remplacer.Vous pouvez le forcer comme ceci :
strong, b, strong *, b * { font-weight: bold; }
em, i, em *, i * { font-style: italic; }
Si vous prenez toujours en charge IE7, vous devrez ajouter !important
.
strong, b, strong *, b * { font-weight: bold !important; }
em, i, em *, i * { font-style: italic !important; }
Cela fonctionne - voyez par vous-même :
/*YUI styles*/
address,caption,cite,code,dfn,em,strong,th,var {
font-style: normal;
font-weight: normal;
}
/*End YUI styles =*/
strong, b, strong *, b * {
font-weight: bold;
}
em, i, em *, i * {
font-style: italic;
}
<strong>Bold</strong> - <em>Italic</em> - <strong>Bold and <em>Italic</em></strong>
Autres conseils
J'utiliserais cette règle pour remplacer la réinitialisation de YUI :
strong, b, strong *, b *
{
font-weight: bold;
}
em, i, em *, i *
{
font-style: italic;
}
Si en plus d'utiliser YUI reset.css, vous utilisez également YUI base.css, vous disposerez alors d'un ensemble standard de styles de base multi-navigateurs.
J'ai eu un problème similaire lorsque j'ai ajouté la réinitialisation YUI en haut de mon fichier CSS d'origine.J'ai trouvé que la meilleure chose pour moi était simplement de supprimer tous les
font-weight: normal;
déclarations de YUI Reset.Je n'ai pas remarqué que cela ait affecté quoi que ce soit "entre navigateurs".
Toutes mes déclarations ont eu lieu après la réinitialisation de YUI, donc je ne sais pas pourquoi elles n'ont pas pris effet.
Tant que vos styles sont chargés après ceux réinitialisés, ils devraient fonctionner.De quel navigateur s'agit-il ?parce que je travaille moi-même de la même manière et que je n'ai pas rencontré ce problème, je me demande si quelque chose est en cause dans mes tests.
Il est préférable d'utiliser les feuilles de style de réinitialisation comme base.Si vous ne souhaitez pas les réinitialiser ou les renforcer, supprimez-les de la feuille de style.
Comme Chris l'a dit, vous n'êtes pas obligé d'utiliser exactement le CSS qu'ils fournissent religieusement.Je voudrais simplement enregistrer une copie sur votre serveur et la modifier selon vos besoins.
Je suggérerais d'éviter tout ce qui implique le piratage des fichiers YUI.Vous devez pouvoir mettre à jour les bibliothèques externes à l'avenir et si votre site s'appuie sur des versions éditées, il y a de fortes chances qu'il soit perturbé.Je pense qu'il s'agit d'une bonne pratique générale pour toute bibliothèque tierce que vous utilisez.
Donc je pensais ce la réponse était parmi les meilleures
Si en plus d'utiliser YUI reset.css, vous utilisez également YUI base.css, vous disposerez alors d'un ensemble standard de styles de base multi-navigateurs.
J'entends ce que vous dites.Je suppose que vous pouvez ajouter une règle CSS comme celle-ci :
strong em { font-weight: bold; }
ou:
strong * { font-weight: bold; }
Je pensais avoir une solution idéale :
strong, b
{
font-weight: bold;
font-style: inherit;
}
em, i
{
font-style: italic;
font-weight: inherit;
}
Malheureusement, Internet Explorer ne prend pas en charge «l'héritage». :-(