Odpowiedzi:
Nie ma między nimi różnicy.
Jeśli nie określisz wartości dla żadnej z pół tuzina właściwości, która background
jest skrótem dla, zostanie ustawiona na wartość domyślną. none
i transparent
są wartościami domyślnymi.
One jawnie ustawia background-image
to none
i niejawnie ustawia background-color
to transparent
. Drugi jest na odwrót.
transparent
i none
.
Jako dodatkowe informacje na temat odpowiedzi @Quentin i jak słusznie mówi,
background
sama właściwość CSS jest skrótem dla:
background-color
background-image
background-repeat
background-attachment
background-position
Oznacza to, że możesz zgrupować wszystkie style w jednym, na przykład:
background: red url(../img.jpg) 0 0 no-repeat fixed;
To byłoby (w tym przykładzie):
background-color: red;
background-image: url(../img.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;
Więc ... kiedy ustawiasz: background:none;
mówisz, że wszystkie właściwości tła są ustawione na brak ...
Mówisz to background-image: none;
i wszystkie inne o initial
stanie (ponieważ nie są deklarowane).
Tak więc background:none;
jest:
background-color: initial;
background-image: none;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Teraz, kiedy definiujesz tylko kolor (w twoim przypadku transparent
), zasadniczo mówisz:
background-color: transparent;
background-image: initial;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Powtarzam, ponieważ @Quentin słusznie mówi, że wartości default
transparent
i w tym przypadku są takie same, więc w twoim przykładzie i w twoim pierwotnym pytaniu nie ma między nimi różnicy.none
Ale! .. jeśli powiesz background:none
Vs, background:red
to tak ... jest duża różnica, jak powiedziałem, pierwsza ustawiłaby wszystkie właściwości, none/default
a druga zmieniłaby tylko color
i pozostałaby w swoim default
stanie.
Krótka odpowiedź : nie, nie ma żadnej różnicy (w twoim przykładzie i oryginalnym pytaniu)
Długa odpowiedź : Tak, jest duża różnica, ale zależy bezpośrednio od właściwości nadanych atrybutowi.
default
)Wartość początkowa konkatenacja początkowych wartości jej własności odręcznych:
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
opisów tutajAktualizacja2: Lepsze wyjaśnienie background:none;
specyfikacji.
console
to demo jsfiddle.net/dnzy2/6
Aby uzupełnić inne odpowiedzi: jeśli chcesz zresetować wszystkie właściwości tła do ich wartości początkowej (która obejmuje background-color: transparent
i background-image: none
) bez jawnego określania wartości, takich jak transparent
lub none
, możesz to zrobić, pisząc:
background: initial;
background-color: transparent; background-image: none;
. Arkusz stylów użytkownika może przesłonić jedną lub obie te wartości, ale zrobi to dokładnie tak, jakbybackground-color: transparent; background-image: none;
został napisany jawnie.