Se você precisar aumentar a imagem, edite a própria imagem em um editor de imagens.
Se você usar a tag img, poderá alterar o tamanho, mas isso não fornecerá o resultado desejado se você precisar que a imagem seja fundo para outro conteúdo (e ela não se repetirá como você deseja) ...
CSS3 libera os poderes
Isso é possível no CSS3 com background-size.
Todos os navegadores modernos oferecem suporte a isso; portanto, a menos que você precise oferecer suporte a navegadores antigos, essa é a maneira de fazê-lo. Navegadores suportados:
Mozilla Firefox 4.0+ (Gecko 2.0+), Microsoft Internet Explorer 9.0+, Opera 10.0+, Safari 4.1+ (webkit 532) e Chrome 3.0+.
.stretch{/* Will stretch to specified width/height */background-size:200px150px;}.stretch-content{/* Will stretch to width/height of element */background-size:100%100%;}.resize-width{/* width: 150px, height: auto to retain aspect ratio */background-size:150px Auto;}.resize-height{/* height: 150px, width: auto to retain aspect ratio */background-size: Auto 150px;}.resize-fill-and-clip{/* Resize to fill and retain aspect ratio.
Will cause clipping if aspect ratio of box is different from image. */background-size: cover;}.resize-best-fit{/* Resize to best fit and retain aspect ratio.
Will cause gap if aspect ratio of box is different from image. */background-size: contain;}
Gosto particularmente dos valores covere containque nos dão um novo poder de controle que não tínhamos antes.
Volta
Você também pode usar background-size: roundisso com um significado em combinação com a repetição:
.resize-best-fit-in-repeat{/* Resize to best fit in a whole number of times in x-direction */background-size: round auto;/* Height: auto is to keep aspect ratio */background-repeat: repeat;}
Isso ajustará a largura da imagem para que ela caiba várias vezes na área de posicionamento do plano de fundo.
Nota adicional
Se o tamanho que você precisa é um tamanho estático de pixel, ainda é inteligente redimensionar fisicamente a imagem real. Isso serve tanto para melhorar a qualidade do redimensionamento (considerando que o software de imagem faz um trabalho melhor que os navegadores) quanto para economizar largura de banda se a imagem original for maior do que o que exibir.
Observe que também há a questão da exibição de retina no iPad e iPhone e provavelmente em outros dispositivos de alta resolução. Isso significa que pode valer a pena redimensionar imagens maiores usando CSS e usar vários arquivos CSS e outros truques para exibir imagens específicas. Introdução agradável aqui: webmonkey.com/2012/03/…
Leo
Essa é a pior solução no momento, pois nem todas as lojas de comércio eletrônico redimensionam a imagem conforme sugerido. Em 2009, provavelmente estava próximo da melhor opção, agora basta usar os atributos de tamanho como abaixo.
ShaunOReilly
332
Somente o CSS 3 suporta isso,
background-size:200px50px;
Mas eu editaria a própria imagem, para que o usuário precise carregar menos e ela possa parecer melhor do que uma imagem reduzida sem antialiasing.
tamanho do plano de fundo: 100%; posição de fundo: centro; - isso funciona no IE6 em execução na minha máquina virtual no XP Home.
InnateDev 19/07
7
O IE 6,7,8 não é 'a maioria dos navegadores'.
Mahmoodvcs
11
Mesmo em 2013 - enquanto o comentário "IE6,7,8 não é 'a maioria dos navegadores'", pode ser parcialmente verdadeiro em relação ao IE6; Infelizmente, o IE7 e o IE8 ainda têm uma participação de mercado imponente. A melhor maneira que encontrei para fazer isso é usar o Javascript em combinação com o modernizr (ou outro meio de marcar 'OLDIE').
precisa saber é o seguinte
19
Não é possível . O fundo sempre será o maior possível, mas você pode impedir que ele se repita background-repeat.
background-repeat:no-repeat;
Em segundo lugar, o plano de fundo não entra na área da margem de uma caixa; portanto, se você deseja que o plano de fundo esteja apenas no conteúdo real de uma caixa, use margem em vez de preenchimento.
Em terceiro lugar, você pode controlar onde a imagem de fundo começa. Por padrão, é o canto superior esquerdo de uma caixa, mas você pode controlar isso com background-position:
background-position: center top;
ou talvez
background-position:20px-14px;
O posicionamento negativo é muito usado com sprites CSS .
Não, não é tão grande quanto eu posso ser. É sempre do mesmo tamanho, mas preciso aumentá-lo.
288 de Johan
Bem, isso não é possível. Pode haver opções para fazer isso em versões futuras do CSS, mas isso ainda está longe.
mikl
Esta resposta está errada. O CSS3 possui a propriedade tamanho do plano de fundo, suportada no IE9 +.
precisa
3
Dê uma olhada no carimbo de hora. Em 2009, o tamanho do plano de fundo era apenas um brilho nos olhos do WebKit. Fique à vontade para atualizá-lo, se quiser, mas já existem muitas outras respostas descrevendo o tamanho do plano de fundo.
mikl
12
Não é muito difícil, se você não tem medo de se aprofundar um pouco mais :)
Há um argumento esquecido :
background-size: contain;
Isso não vai esticar o seu, background-imagecomo faria com cover. Estiraria até o lado mais longo atingir a largura ou altura do contêiner externo e, portanto, preservar a imagem.
Edit: Há também -webkit-background-sizee -moz-background-size.
A propriedade tamanho do plano de fundo é suportada no IE9 +, Firefox 4+, Opera, Chrome e Safari 5+.
Para apoiar a resposta que o @tetra deu, quero ressaltar que, se a imagem for um SVG, o redimensionamento da imagem real não será necessário.
Como um arquivo SVG é apenas XML, você pode especificar o tamanho que deseja que apareça no XML.
No entanto, se você estiver usando a mesma imagem SVG em lugares diferentes e precisar de tamanhos diferentes, usar background-sizeé muito útil. Os arquivos SVG são inerentemente menores do que as imagens rasterizadas e o redimensionamento instantâneo com CSS pode ser muito útil, sem qualquer custo de desempenho que eu saiba, e certamente com pouca ou nenhuma perda de qualidade.
body {
background-image: url(images/bg-body.png);
background-size:100%;/* size the background image at 100% like any responsive img tag */
background-position: top center;
background-repeat:no-repeat;}
Isso dimensionará uma imagem de plano de fundo para 100% da largura do elemento do corpo e redimensionará o plano de fundo adequadamente conforme o elemento do corpo é redimensionado para resoluções menores.
put the below code in the body of you css file
background-image: URL('../images/wave-green-plain-colour.jpg');-webkit-background-size: cover;-moz-background-size: cover;-o-background-size: cover;
background-size: cover;
width:100px;
Uso imagens de plano de fundo para botões, mas ele mostra apenas a imagem do mesmo tamanho que o texto, mesmo se eu definir largura e altura. Em vez disso, preencho meu texto com caracteres (espaços sem quebra). Eu bato no número necessário, basicamente, até todo o fundo do botão aparecer. Então, eu posso ter um código como este:
Outra maneira é definir o tamanho do link para o tamanho da imagem de fundo. Na folha de estilos, (em # v2menu-home no exemplo acima), use display: block e defina a altura e a largura lá. Isso realmente funciona. Não há necessidade de caracteres de espaço sem interrupção.
Martin Thompson
0
Por exemplo: a
imagem de plano de fundo sempre se ajustará ao tamanho do contêiner (largura 100% e altura 100px).
CSS entre navegadores:
Respostas:
CSS2
Se você precisar aumentar a imagem, edite a própria imagem em um editor de imagens.
Se você usar a tag img, poderá alterar o tamanho, mas isso não fornecerá o resultado desejado se você precisar que a imagem seja fundo para outro conteúdo (e ela não se repetirá como você deseja) ...
CSS3 libera os poderes
Isso é possível no CSS3 com
background-size
.Todos os navegadores modernos oferecem suporte a isso; portanto, a menos que você precise oferecer suporte a navegadores antigos, essa é a maneira de fazê-lo.
Navegadores suportados:
Mozilla Firefox 4.0+ (Gecko 2.0+), Microsoft Internet Explorer 9.0+, Opera 10.0+, Safari 4.1+ (webkit 532) e Chrome 3.0+.
Gosto particularmente dos valores
cover
econtain
que nos dão um novo poder de controle que não tínhamos antes.Volta
Você também pode usar
background-size: round
isso com um significado em combinação com a repetição:Isso ajustará a largura da imagem para que ela caiba várias vezes na área de posicionamento do plano de fundo.
Nota adicional
Se o tamanho que você precisa é um tamanho estático de pixel, ainda é inteligente redimensionar fisicamente a imagem real. Isso serve tanto para melhorar a qualidade do redimensionamento (considerando que o software de imagem faz um trabalho melhor que os navegadores) quanto para economizar largura de banda se a imagem original for maior do que o que exibir.
fonte
Somente o CSS 3 suporta isso,
Mas eu editaria a própria imagem, para que o usuário precise carregar menos e ela possa parecer melhor do que uma imagem reduzida sem antialiasing.
fonte
background: url('resized_image.png')\9;
para o IE lt 9Se seus usuários usam apenas Opera 9.5+, Safari 3+, Internet Explorer 9+ e Firefox 3.6+, a resposta é sim. Caso contrário, não.
A propriedade tamanho do plano de fundo faz parte do CSS 3, mas não funciona na maioria dos navegadores.
Para seus propósitos, apenas aumente a imagem real.
fonte
Não é possível . O fundo sempre será o maior possível, mas você pode impedir que ele se repita
background-repeat
.Em segundo lugar, o plano de fundo não entra na área da margem de uma caixa; portanto, se você deseja que o plano de fundo esteja apenas no conteúdo real de uma caixa, use margem em vez de preenchimento.
Em terceiro lugar, você pode controlar onde a imagem de fundo começa. Por padrão, é o canto superior esquerdo de uma caixa, mas você pode controlar isso com
background-position
:ou talvez
O posicionamento negativo é muito usado com sprites CSS .
fonte
Não é muito difícil, se você não tem medo de se aprofundar um pouco mais :)
Há um argumento esquecido :
Isso não vai esticar o seu,
background-image
como faria comcover
. Estiraria até o lado mais longo atingir a largura ou altura do contêiner externo e, portanto, preservar a imagem.Edit: Há também
-webkit-background-size
e-moz-background-size
.- Fonte: Escolas W3
fonte
background-size: 200px 50px altere para 100% 100% e será dimensionado conforme as necessidades da tag de conteúdo, como ul li ou div ... tentei
fonte
Para apoiar a resposta que o @tetra deu, quero ressaltar que, se a imagem for um SVG, o redimensionamento da imagem real não será necessário.
Como um arquivo SVG é apenas XML, você pode especificar o tamanho que deseja que apareça no XML.
No entanto, se você estiver usando a mesma imagem SVG em lugares diferentes e precisar de tamanhos diferentes, usar
background-size
é muito útil. Os arquivos SVG são inerentemente menores do que as imagens rasterizadas e o redimensionamento instantâneo com CSS pode ser muito útil, sem qualquer custo de desempenho que eu saiba, e certamente com pouca ou nenhuma perda de qualidade.Aqui está um exemplo rápido:
(Nota: isso funciona para mim no OS X 10.7 com Firefox 8, Safari 5.1 e Chrome 16.0.912.63)
fonte
Você pode totalmente com CSS3:
Isso dimensionará uma imagem de plano de fundo para 100% da largura do elemento do corpo e redimensionará o plano de fundo adequadamente conforme o elemento do corpo é redimensionado para resoluções menores.
Aqui está o exemplo: http://www.sccc.premiumdw.com/examples/resize-background-images-with-css/
fonte
Apenas divs aninhados para ser compatível com vários navegadores
fonte
Você pode usar dois
<div>
elementos:Um é um contêiner (é aquele em que você originalmente queria que a imagem de fundo aparecesse).
O segundo está contido. Você define seu tamanho para o tamanho da imagem de fundo (ou o tamanho que você deseja que apareça).
A div contida é então definida para ser posicionada
absolute
. Dessa forma, não interfere no fluxo normal de itens na div que o contém.Permite usar imagens de sprite eficientemente.
fonte
Você não pode definir o tamanho da sua imagem de plano de fundo com a versão atual do CSS (2.1).
Você só pode definir:
position
,fix
,image-url
,repeat-mode
, ecolor
.fonte
fonte
Você escreveu
mas você verá apenas o plano de fundo, dependendo do tamanho do contêiner.
se você tiver um contêiner vazio com o URL do plano de fundo e seja qual for o tamanho do plano de fundo, você não verá o bg.gif.
Se você definir o tamanho do continente como
combinado ao código que você escreveu acima, você poderá ver o arquivo bg.gif.
fonte
background-size
está funcionando no Chrome 4.1, mas até agora não consegui fazê-lo funcionar no Firefox 3.6.fonte
Uso imagens de plano de fundo para botões, mas ele mostra apenas a imagem do mesmo tamanho que o texto, mesmo se eu definir largura e altura. Em vez disso, preencho meu texto com
caracteres (espaços sem quebra). Eu bato no número necessário, basicamente, até todo o fundo do botão aparecer. Então, eu posso ter um código como este:Na folha de estilos:
No documento HTML:
fonte
Por exemplo: a
imagem de plano de fundo sempre se ajustará ao tamanho do contêiner (largura 100% e altura 100px).
CSS entre navegadores:
}
fonte
Isso é possível em CSS3 com tamanho de fundo
fonte
Se você deseja definir
background-size
na mesmabackground
propriedade, pode usar:fonte