Czy istnieje różnica między tymi dwoma właściwościami CSS:
background: none;
background: transparent;
- Czy oba są ważne?
- Którego należy użyć i dlaczego?
css
background
web-tiki
źródło
źródło
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.transparent
inone
.Jako dodatkowe informacje na temat odpowiedzi @Quentin i jak słusznie mówi,
background
sama właściwość CSS jest skrótem dla:Oznacza to, że możesz zgrupować wszystkie style w jednym, na przykład:
To byłoby (w tym przykładzie):
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 oinitial
stanie (ponieważ nie są deklarowane).Tak więc
background:none;
jest:Teraz, kiedy definiujesz tylko kolor (w twoim przypadku
transparent
), zasadniczo mówisz: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 tylkocolor
i pozostałaby w swoimdefault
stanie.Więc w skrócie:
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.
Upd1: Wartość początkowa (aka
default
)Wartość początkowa konkatenacja początkowych wartości jej własności odręcznych:
Zobacz więcej
background
opisów tutajAktualizacja2: Lepsze wyjaśnienie
background:none;
specyfikacji.źródło
console
to demo jsfiddle.net/dnzy2/6Aby 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
ibackground-image: none
) bez jawnego określania wartości, takich jaktransparent
lubnone
, możesz to zrobić, pisząc:źródło
initial
. zobacz Can I Use i MDN