Fondamentalement, j'ai deux css externes dans ma page.
Le premier Main.css
contient toutes les règles de style mais je n'y ai pas accès et je ne peux donc pas le modifier. J'ai accès à un deuxième fichier Template.css
, je dois donc remplacer les Main.css
valeurs de template.css
.
C'est facile pour lequel je dois changer la valeur, mais comment supprimer complètement une propriété?
Comme une classe l' .c1
a fait height: 40px;
, comment puis-je me débarrasser de cette propriété de hauteur?
Réponses:
Vous devez réinitialiser chaque propriété individuelle à sa valeur par défaut. Ce n'est pas génial, mais c'est le seul moyen, compte tenu des informations que vous nous avez fournies.
Dans votre exemple, vous feriez:
Vous devez rechercher chaque propriété ici:
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference
Par exemple
height
:Un autre exemple
max-height
,:En 2017, il existe désormais un autre moyen, le
unset
mot - clé:Quelques documents: https://developer.mozilla.org/en-US/docs/Web/CSS/unset
Le support du navigateur est bon: http://caniuse.com/css-unset-value
la source
La
unset
valeur ajoutée dans CSS3 résout également ce problème et c'est une méthode encore plus universelle queauto
ouinitial
parce qu'elle définit à chaque propriété CSS sa valeur par défaut et en plus sa valeur par défaut par rapport à son parent.Notez que la
initial
valeur rompt le comportement susmentionné.De MDN :
la source
Malheureusement, vous ne pouvez pas. CSS n'a pas d'espace réservé «par défaut».
Dans ce cas, vous réinitialisez la propriété en utilisant
comme @Ben le souligne correctement, dans certains cas,
inherit
est la bonne façon de procéder, par exemple lors de la réinitialisation de la couleur du texte d'una
élément (cette propriété est héritée de l'élément parent):la source
Un
initial
mot-clé est ajouté dans CSS3 pour permettre aux auteurs de spécifier explicitement cette valeur initiale.la source
height:initial;
ne semble pas fonctionner dans IE9.initial
etauto
etunset
?.Pour vous débarrasser de la propriété de hauteur fixe, vous pouvez la définir sur la valeur par défaut:
la source
Vous devez fournir un sélecteur avec une spécificité plus élevée que celui du
Main.css
. Avec ce sélecteur, définissez les valeurs des propriétés que vous voulez sur leur valeur par défaut, par exempleIl n'y a pas de valeur "par défaut" qui fonctionnera pour toutes les propriétés, vous devez rechercher la valeur par défaut pour chacune d'elles et l'utiliser.
la source
J'ai eu un problème qui, même lorsque j'ai remplacé "hauteur" par "non défini" ou "initial", se comportait différemment de la suppression du paramètre précédent.
Il s'est avéré que j'avais également besoin de supprimer la propriété min-height!
Edit: J'ai testé sur IE 7 et il ne reconnaît pas "unset", donc "auto" fonctionne mieux ".
la source