Existe uma diferença entre essas duas propriedades CSS:
background: none;
background: transparent;
- Ambos são válidos?
- Qual deles deve ser usado e por quê?
css
background
web-tiki
fonte
fonte
background-color: transparent; background-image: none;
. Uma folha de estilo do usuário pode substituir um ou ambos os valores, mas o fará exatamente como sebackground-color: transparent; background-image: none;
tivesse sido escrita explicitamente.transparent
enone
.Como informações adicionais sobre a resposta do @Quentin e, como ele diz corretamente, a
background
própria propriedade CSS, é uma abreviação de:Isso significa que você pode agrupar todos os estilos em um, como:
Isso seria (neste exemplo):
Então ... quando você define:
background:none;
você está dizendo que todas as propriedades de segundo plano são definidas como nenhuma ...Você está dizendo isso
background-image: none;
e todas as outras noinitial
estado (como elas não estão sendo declaradas).Então
background:none;
é:Agora, quando você define apenas a cor (no seu caso
transparent
), está basicamente dizendo:Repito, como o @Quentin diz, com razão, que os valores
default
transparent
e neste caso são os mesmos, portanto, no seu exemplo e na sua pergunta original, não, não há diferença entre eles.none
Mas! .. se você disser
background:none
Vs,background:red
então sim ... há uma grande diferença, como eu digo, o primeiro definiria todas as propriedades paranone/default
e o segundo, apenas mudará ocolor
e permanecerá o restante em seudefault
estado.Então, em resumo:
Resposta curta : Não, não há nenhuma diferença (no exemplo e na pergunta original)
Resposta longa : Sim, há uma grande diferença, mas depende diretamente das propriedades concedidas ao atributo.
Upd1: valor inicial (aka
default
)Valor inicial a concatenação dos valores iniciais de suas propriedades de longhand:
Veja mais
background
descrições aquiUpd2: Esclareça melhor a
background:none;
especificação.fonte
console
esta demonstração jsfiddle.net/dnzy2/6 #Para complementar as outras respostas: se você deseja redefinir todas as propriedades de segundo plano para seu valor inicial (que inclui
background-color: transparent
ebackground-image: none
) sem especificar explicitamente qualquer valor comotransparent
ounone
, você pode fazer isso escrevendo:fonte
initial
. veja Posso usar e MDN