Réponses:
Il n'y a aucune différence entre eux.
Si vous ne spécifiez pas de valeur pour l'une des demi-douzaines de propriétés qui background
est un raccourci pour, elle est définie sur sa valeur par défaut. none
et transparent
sont les valeurs par défaut.
On définit explicitement le background-image
to none
et implicitement définit le background-color
to transparent
. L'autre est l'inverse.
transparent
et none
.
En tant qu'informations supplémentaires sur la réponse @Quentin , et comme il le dit à juste titre, la
background
propriété CSS elle-même est un raccourci pour:
background-color
background-image
background-repeat
background-attachment
background-position
Cela signifie que vous pouvez regrouper tous les styles en un seul, comme:
background: red url(../img.jpg) 0 0 no-repeat fixed;
Ce serait (dans cet exemple):
background-color: red;
background-image: url(../img.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;
Donc ... lorsque vous définissez: background:none;
vous dites que toutes les propriétés d'arrière-plan sont définies sur aucune ...
Vous dites cela background-image: none;
et toutes les autres à l' initial
état (car elles ne sont pas déclarées).
Alors, background:none;
c'est:
background-color: initial;
background-image: none;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Maintenant, lorsque vous définissez uniquement la couleur (dans votre cas transparent
), vous dites essentiellement:
background-color: transparent;
background-image: initial;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Je le répète, comme @Quentin le dit à juste titre, les valeurs default
transparent
et dans ce cas sont les mêmes, donc dans votre exemple et pour votre question d'origine, non, il n'y a pas de différence entre elles.none
Mais! .. si vous dites background:none
Vs background:red
alors oui ... il y a une grande différence, comme je l'ai dit, le premier définirait toutes les propriétés sur none/default
et le second, ne changera que le color
et restera le reste dans son default
état.
Réponse courte : Non, il n'y a aucune différence (dans votre exemple et question originale)
Réponse longue : Oui, il y a une grande différence, mais dépend directement des propriétés accordées à l'attribut.
default
)Valeur initiale la concaténation des valeurs initiales de ses propriétés longues:
background-image: none
background-position: 0% 0%
background-size: auto auto
background-repeat: repeat
background-origin: padding-box
background-style: is itself a shorthand, its initial value is the concatenation of its own longhand properties
background-clip: border-box
background-color: transparent
background
descriptions iciUpd2: Clarifiez mieux la background:none;
spécification.
console
sur cette démo jsfiddle.net/dnzy2/6
Pour compléter les autres réponses: si vous souhaitez réinitialiser toutes les propriétés d'arrière-plan à leur valeur initiale (qui inclut background-color: transparent
et background-image: none
) sans spécifier explicitement une valeur telle que transparent
ou none
, vous pouvez le faire en écrivant:
background: initial;
background-color: transparent; background-image: none;
. Une feuille de style utilisateur peut remplacer l'une de ces valeurs ou les deux, mais elle le fera exactement comme si ellebackground-color: transparent; background-image: none;
avait été écrite explicitement.