Imagens de fundo do css sensíveis

Tenho um website (g-floors.eu) e eu quero fazer o fundo (em css eu defini uma imagem bg para o conteúdo) também responsivo. Infelizmente eu realmente não tenho nenhuma idéia de como fazer isso, exceto por uma coisa que eu posso pensar, mas é uma grande solução. Criando várias imagens e, em seguida, usando o tamanho de tela css para mudar as imagens, mas eu quero saber se há uma maneira mais prática, a fim de alcançar isso.

Basicamente, o que eu quero alcançar é que a imagem (com a marca de água 'G') muda automaticamente o tamanho sem Mostrar menos da imagem. Se for possível, claro

Ligação: g-floors.eu

código que tenho até agora (parte do conteúdo)

#content   
{       
    background-image: url('../images/bg.png');        
    background-repeat: no-repeat;        
    position: relative;        
    width: 85%;            
    height: 610px;       
    margin-left: auto;      
    margin-right: auto;       
}   
Author: Mihai, 2012-09-26

17 answers

Se quiser escalar a mesma imagem com base no tamanho da janela do navegador:

background-image:url('../images/bg.png');
background-repeat:no-repeat;
background-size:contain;
background-position:center;

Não definir a largura, a altura ou as margens.

 306
Author: Andrei Volgin, 2012-09-26 19:51:02

Por este código, a sua imagem de fundo vai para o centro e corrige o seu tamanho, seja qual for a sua mudança de tamanho, bom para tamanhos pequenos, grandes, normais, melhor para todos, eu uso-o para os meus projectos onde o meu tamanho de fundo ou tamanho de div pode mudar

background-repeat:no-repeat;
-webkit-background-size:cover;
-moz-background-size:cover;
-o-background-size:cover;
background-size:cover;
background-position:center;
 63
Author: Pnsadeghy, 2013-11-16 20:37:05

Tenta isto:

background-image: url(_images/bg.png);
background-repeat: no-repeat;
background-position: center center;
background-attachment: fixed;
background-size: cover;
 43
Author: Ashok Dey, 2014-03-17 22:43:35

CSS:

background-size: 100%;
Isso deve chegar! :)
 32
Author: Timothy Miller, 2015-08-30 18:42:03

Aqui está sass mixin para imagem de fundo sensível que eu uso. Funciona para qualquer elemento block. É claro que o mesmo pode funcionar em CSS simples você só terá que calcular padding manualmente.

@mixin responsive-bg-image($image-width, $image-height) {
  background-size: 100%;
  height: 0;
  padding-bottom: percentage($image-height / $image-width);
  display: block;
}


.my-element {
  background: url("images/my-image.png") no-repeat;

  // substitute for your image dimensions
  @include responsive-bg-image(204, 81);
}

Exemplo http://jsfiddle.net/XbEdW/1/

 19
Author: lanan, 2013-11-25 15:57:10
Esta é a melhor maneira que tenho.
#content   {
    background-image:url('smiley.gif');
    background-repeat:no-repeat;
    background-size:cover;
}

Verificar os w3schools

Mais opções disponíveis

background-size: auto|length|cover|contain|initial|inherit;
 13
Author: Piyush, 2015-04-22 05:20:21

Esta é fácil=)

body {
    background-image: url(http://domains.com/photo.jpeg);
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}

Dê uma olhada no demonstração do jsFiddle

 12
Author: Omar, 2017-07-24 00:28:48

Eu usei

#content {
  width: 100%;
  height: 500px;
  background-size: cover;
  background-position: center top;
}
O que funcionou muito bem.
 8
Author: Holly, 2018-04-14 22:17:27

O Sítio Web sensível, adicionando estofos à altura/largura da imagem inferior x 100 = estofamento-Fundo%:

Http://www.outsidethebracket.com/responsive-web-design-fluid-background-images/


Método mais complicado:

Http://voormedia.com/blog/2012/11/responsive-background-images-with-fixed-or-fluid-aspect-ratios


Tente redimensionar o fundo eQ Firefox Ctrl + M para ver o script Magic nice eu acho melhor um:

Http://www.minimit.com/demos/fullscreen-backgrounds-with-centered-content

 5
Author: user956584, 2014-08-27 00:13:39

Se quiser que a imagem inteira apareça independentemente das proporções, então tente isto:

background-image:url('../images/bg.png');
background-repeat:no-repeat;
background-size:100% 100%;
background-position:center;

Isto irá mostrar toda a imagem, independentemente do tamanho do ecrã.

 4
Author: Mubashar Abbas, 2017-02-10 13:51:40
#container {
    background-image: url("../images/layout/bg.png");
    background-repeat: no-repeat;
    background-size: 100% 100%;
    height: 100vh;
    margin: 3px auto 0;
    position: relative;
}
 4
Author: amit bende, 2018-04-14 22:12:20

Podes usar isto. Eu testei e seu funcionamento 100% correto:

background-image:url('../images/bg.png'); 
background-repeat:no-repeat;
background-size:100%;
background-position:center;

Pode testar o seu site com a capacidade de resposta neste simulador de tamanho de Ecrã.: http://www.infobyip.com/testwebsiteresolution.php

Esvazie o seu esconderijo cada vez que fizer alterações e eu prefiro usar o Firefox para testá-lo.

Se quiser usar um formulário de Imagem outro site / URL e não gostar: background-image:url('../images/bg.png'); //Esta estrutura deve usar a imagem do seu próprio servidor hospedado. Então use como presente: background-image: url(http://173.254.28.15/~brettedm/wp-content/uploads/Brett-Edmonds-Photography-14.jpg) ;

Aprecie:)

 3
Author: JackSparrow, 2013-04-26 15:07:15
    <style> 
         * {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

#res_img {
  background: url("https://s15.postimg.org/ve2qzi01n/image_slider_1.jpg");
  width: 100%;
  height: 500px;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center;
  border: 1px solid red;
}

@media screen and (min-width:300px) and (max-width:500px) {
  #res_img {
    width: 100%;
    height: 200px;
  }
}

    </style>

<div id="res_img">
</div>
 3
Author: Indranil, 2016-12-03 15:09:53
Apenas duas linhas de código, funciona.
#content {
  background-image: url('../images/bg.png');
  background-size: cover;
}
 3
Author: Rajkumar Bansal, 2017-09-25 11:02:07

Adaptável para a razão quadrada com jQuery

var Height = $(window).height();
var Width = $(window).width();
var HW = Width/Height;

if(HW<1){
      $(".background").css("background-size","auto 100%");
    }
    else if(HW>1){
      $(".background").css("background-size","100% auto");
    }
 2
Author: OVNI, 2013-06-15 10:10:01
background:url("img/content-bg.jpg") no-repeat;
background-position:center; 
background-size:cover;

Ou

background-size:100%;
 1
Author: bsngr, 2014-09-08 14:24:16
Acho que a melhor maneira de o fazer é:
body {
    font-family: Arial,Verdana,sans-serif;
    background:url("/images/image.jpg") no-repeat fixed bottom right transparent;
}
Assim não há necessidade de fazer mais nada e é muito simples. Pelo menos, funciona comigo. Espero que ajude.
 0
Author: user3487225, 2014-04-25 13:18:54