Qual é a diferença entre especificar uma cor de fundo usando background
e background-color
?
Snippet # 1
body { background-color: blue; }
Snippet # 2
body { background: blue; }
fonte
Qual é a diferença entre especificar uma cor de fundo usando background
e background-color
?
Snippet # 1
body { background-color: blue; }
Snippet # 2
body { background: blue; }
Pressupondo que essas são duas propriedades distintas, no seu exemplo específico, não há diferença no resultado, pois background
na verdade é uma abreviação para
fundo-cor
-imagem
-de-fundo-posição
-de-fundo-repetir
-anexo
-de-fundo-clip
-de-origem
-tamanho de fundo
Assim, além do background-color
, usando o background
atalho, você também pode adicionar um ou mais valores sem repetir nenhuma outra background-*
propriedade mais de uma vez.
Qual deles escolher depende essencialmente de você, mas também pode depender de condições específicas de suas declarações de estilo (por exemplo, se você precisar substituir apenas background-color
ao herdar outras background-*
propriedades relacionadas de um elemento pai ou se precisar remover todos os valores exceto o background-color
).
background
é apenas um atalho para qualquer um dos 5 atributos? Portanto, não é prático na vida real se houver posição, cor e imagem do plano de fundo?P { background: url("chess.png") gray 50% repeat fixed }
background
vai substituem todos os anterioresbackground-color
,background-image
etc. especificações. É basicamente uma abreviação, mas uma redefinição também.Às vezes, eu o uso para substituir as
background
especificações anteriores nas personalizações de modelos, onde eu gostaria do seguinte:background: white url(images/image1.jpg) top left repeat;
seja o seguinte:
background: black;
Assim, todos os parâmetros (
background-image
,background-position
,background-repeat
) irá redefinir para seus valores padrão.fonte
Sobre o desempenho do CSS :
background
vsbackground-color
:Ref: https://github.com/mdo/css-perf#background-vs-background-color
fonte
These kind of tests are cheats and always going to be somewhat inaccurate from the real world
github.com/mdo/css-perf#updated-conclusions-from-averagesCom
background
você pode definir todas asbackground
propriedades como:background-color
background-image
background-repeat
background-position
etc.
Com
background-color
você pode apenas especificar a cor do plano de fundoVS.
Mais informações
(Veja Legenda: Plano de fundo - propriedade Shorthand)
fonte
Uma das diferenças:
Se você usar uma imagem como plano de fundo desta maneira:
não será possível substituí-lo pela propriedade "cor de fundo".
Mas se você estiver usando o plano de fundo para aplicar uma cor, é o mesmo que a cor de plano de fundo e pode ser substituído.
por exemplo: http://jsfiddle.net/Z57Za/11/ e http://jsfiddle.net/Z57Za/12/
fonte
Ambos são iguais. Existem vários seletores de fundo (ou seja
background-color
,background-image
,background-position
) e você pode acessá-los, quer através da simplesbackground
seletor ou o mais específico. Por exemplo:ou
fonte
A diferença é que a
background
propriedade abreviada define várias propriedades relacionadas ao plano de fundo. Ele define todos eles, mesmo se você especificar apenas, por exemplo, um valor de cor, desde então as outras propriedades serão definidas para seus valores iniciais, por exemplo,background-image
paranone
.Isso não significa que sempre substituiria outras configurações para essas propriedades. Isso depende da cascata de acordo com as regras usuais, geralmente mal compreendidas.
Na prática, a taquigrafia tende a ser um pouco mais segura. É uma precaução (não completa, mas útil) contra a obtenção acidental de algumas propriedades inesperadas do plano de fundo, como uma imagem de plano de fundo, de outra folha de estilos. Além disso, é mais curto. Mas você precisa se lembrar que realmente significa "definir todas as propriedades de segundo plano".
fonte
Não há diferença. Ambos irão funcionar da mesma maneira.
A propriedade Background inclui todas essas propriedades e você pode escrevê-las em uma linha.
fonte
Esta é a melhor resposta. A taquigrafia (segundo plano) destina-se a redefinir e a SECA (combine com a mão longa).
fonte
Recriei o experimento de desempenho CSS e os resultados são significativamente diferentes hoje em dia.
Chrome 54 : 443 (µs / div)
Firefox 49 : 162 (µs / div)
Borda 10 : 56 (µs / div)
Chrome 54 : 449 (µs / div)
Firefox 49 : 171 (µs / div)
Borda 10 : 58 (µs / div)
Como você vê - quase não há diferença.
fonte
background
é o atalho parabackground-color
e alguns outros itens relacionados ao plano de fundo, como abaixo:Leia a declaração abaixo do W3C:
Ao usar a propriedade taquigráfica, a ordem dos valores da propriedade é:
fonte
Descobri que você não pode definir um gradiente com a cor de fundo.
Isso funciona:
Isto não:
fonte
background
é uma propriedade abreviada para o seguinte:Você pode obter informações detalhadas sobre cada propriedade aqui
Ordem de propriedades
Na maior parte da implementação do navegador (acho que talvez um navegador mais antigo possa apresentar problemas), a ordem das propriedades não importa, exceto:
background-origin
ebackground-clip
: quando essas duas propriedades estiverem presentes, a primeira se refere-origin
e a segunda a-clip
.Exemplo:
É equivalente a:
background-size
deve sempre seguirbackground-position
e as propriedades devem ser separadas por/
se
background-position
for composto por dois números, o primeiro é o valor horizontal e o segundo o valor vertical.fonte
Notei ao gerar e-mails para o Outlook ...
fonte
Você pode fazer algumas coisas bem legais depois de entender que pode brincar com herança com isso. No entanto, primeiro vamos entender algo deste documento em segundo plano:
Então, quando alguém faz:
Ele está definindo a cor de fundo para vermelho porque vermelho é o último valor listado.
Quando alguém faz:
Vermelho é a cor de fundo mais uma vez, mas você verá um gradiente.
Agora, a mesma coisa com a cor de fundo:
A razão pela qual isso acontece é porque, quando estamos fazendo isso:
O último número define a cor de fundo.
Então, no momento em que herdamos o fundo (obtemos o gradiente) ou a cor do fundo, obtemos o vermelho.
fonte
Uma coisa que notei que não vejo na documentação está usando
background: url("image.png")
mão curta como acima, se a imagem não for encontrada, ela envia um código 302 em vez de ser ignorado como é se você usar
fonte
Há um erro relacionado ao plano de fundo e à cor de plano de fundo
a diferença disso, ao usar o plano de fundo, às vezes quando você cria uma página da Web no plano de fundo CSS: #fff // pode percorrer um bloco de imagem da máscara ("item superior, texto ou imagem")), portanto é melhor usar sempre o plano de fundo cores para uso seguro, em seu design, se for individual
fonte