eu tenho
body {
background: url(images/background.svg);
}
O efeito desejado é que essa imagem de plano de fundo tenha largura igual à da página, mudando a altura para manter a proporção. por exemplo, se a imagem original tiver 100 * 200 (qualquer unidade) e o corpo tiver 600px de largura, a imagem de plano de fundo deverá ter 1200px de altura. A altura deve mudar automaticamente se a janela for redimensionada. Isso é possível?
No momento, parece que o Firefox está ajustando a altura e ajustando a largura. Talvez seja porque a altura é a dimensão mais longa e está tentando evitar o corte? Eu quero cortar verticalmente, em seguida, rolagem: nenhuma repetição horizontal.
Além disso, o Chrome está colocando a imagem no centro, sem repetição, mesmo quando background-repeat:repeat
fornecida explicitamente, que é o padrão de qualquer maneira.
html, body { height: 100%; }
ajuda? Além disso, tosse .Respostas:
Existe uma propriedade CSS3 para isso, a saber
background-size
( verificação de compatibilidade ). Embora se possa definir valores de comprimento, geralmente é usado com os valores especiaiscontain
ecover
. No seu caso específico, você deve usarcover
:Eggsplanation para
contain
ecover
Desculpe pelo trocadilho, mas vou usar a foto do dia de Biswarup Ganguly para demonstração. Digamos que essa seja sua tela e a área cinza fique fora da tela visível. Para demonstração, vou assumir uma proporção de 16x9.
Queremos usar a imagem do dia acima mencionada como pano de fundo. No entanto, cortamos a imagem para 4x3 por algum motivo. Poderíamos definir a
background-size
propriedade para um comprimento fixo, mas focaremos emcontain
ecover
. Observe que também presumo que não alteramos a largura e / ou a altura debody
.contain
Isso garante que a imagem de plano de fundo esteja sempre completamente contida na área de posicionamento de plano de fundo; no entanto, pode haver algum espaço vazio preenchido com o seu
background-color
neste caso:cover
Isso garante que a imagem de plano de fundo cubra tudo. Não haverá visibilidade
background-color
, no entanto, dependendo da proporção da tela, grande parte da sua imagem pode ser cortada:Demonstração com código real
fonte
-webkit-
prefixo?background-size: contain
contain
é como ajuste de zoom.cover
é como preenchimento de zoom.contain
ajusta o tamanho da imagem para corresponder à dimensão maior entre largura e altura.cover
ajusta o tamanho da imagem para corresponder à menor dimensão entre largura e altura.Com base nas dicas de https://developer.mozilla.org/pt-BR/docs/CSS/background-size , termino com a seguinte receita que funcionou para mim
fonte
background-position: center;
, isso funcionou melhor para mim do quebackgound-size: cover;
.overflow-y: hidden
peça?Não tenho certeza do que você está procurando exatamente, mas você realmente deve conferir essas excelentes postagens de blog escritas por Chris Coyier do CSS-Tricks:
http://css-tricks.com/how-to-resizeable-background-image/
http://css-tricks.com/perfect-full-page-background-image/
Leia as descrições de cada um dos artigos e veja se eles são o que você está procurando.
O primeiro responde à seguinte pergunta:
O objetivo da segunda postagem é obter o seguinte, uma "imagem de plano de fundo em um site que cubra a janela inteira do navegador o tempo todo".
Espero que isto ajude.
fonte
A imagem de plano de fundo não é Definida como perfeita, então seu css é problema ao criar, portanto seu arquivo css muda para o código abaixo
%; tamanho do plano de fundo: 100% 100%; "
fonte
Tente isso,
fonte
Basta adicionar esta linha:
vh é a altura da janela de exibição. Isso será dimensionado automaticamente para caber na janela do navegador do dispositivo.
Confira mais aqui: Faça div 100% da altura da janela do navegador
fonte
fonte
Eu tive o mesmo problema, incapaz de redimensionar a imagem ao ajustar as dimensões do navegador.
Código incorreto:
Código bom:
A chave aqui é a adição deste elemento -> background-size: contains;
fonte
Aqui está o que funcionou para mim:
fonte
Definir o tamanho do plano de fundo não ajuda, a seguinte solução funcionou para mim:
Basicamente, a imagem é cortada e ajustada,
background-size: contain/cover
ainda não ajustada.fonte