Esta é uma tradução. Ela pode conter erros ou estar desatualizada em relação à versão original em inglês. Tradutor(a): Maurício "Maujor®" Samy Silva
Ver index para todas as dicas.
Nesta página:
Existe um problema com a imagem da torre Eiffel mostrada no item anterior. Observe que ela foi definida com largura fixa de 136 px e o elemento figure que a contém com largura igual a 30%. Se você redimensionar a largura da janela acabara atingindo uma largura na qual os 30% se tornam menor do que 136 px, fazendo com que a imagem ultrapasse o container (overflow da imagem). Redimensione a janela para uma largura pequena e observe este comportamento.
Caso você conheça a largura de todas as imagens no documento você poderá criar uma regra CSS definindo uma largura mínima para o elemento figure como mostrado a seguir:
figure { min-width: 150px; }
Outra técnica para evitar o overflow da imagem é redimensionar a própria imagem, conforme fizemos com a imagem do forte St. Tropez à direita. Você pode constatar o redimensionamento da imagem redimensionando a janela do navegador. Imagens JPEG degradam quando redimensionadas, o que não acontece se a imagem for um diagrama ou um gráfico no formato SVG que escalam muito bem e sem degradar. Observe a seguir a marcação HTML usada no exemplo deste item:
<figure> <p><img class=scaled src="st-tropez.jpg" alt="St. Tropez"> <figcaption>Forte em Saint Tropez ao por do sol</figcaption> </figure>
E, a folha de estilo:
figure { float: right; width: 30%; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; border: thin silver solid; margin: 0.5em; padding: 0.5em; } img.scaled { width: 100%; }
A única diferença para a folha de estilo do exemplo anterior foi o acréscimo da segunda regra de estilo: ela define a imagem com a largura igual a largura do elemento figure (largura dentro da área da borda e do padding do elemento).
Miniatura da torre Eiffel no Parque Mini-France
A HTML4, ao contrário da HTML5, não prevê um elemento específico para inserir legendas em imagens. Esta funcionalidade foi proposta (ver HTML3), mas não foi implementada na HTML4. Observe a seguir uma maneira de simular o elemento figure:
<div class=figure> <p><img src="eiffel.jpg" width="136" height="200" alt="Torre Eiffel"> <p>Miniatura da torre Eiffel no Parque Mini-France </div>
Nas CSS use a classe "figure" para formatar o DIV.figure da maneira que bem entender. Por exemplo: para flutuar o DIV à direita em uma largura igual a 30% da largura dos parágrafos em volta declare a folha de estilo mostrada a seguir:
div.figure { float: right; width: 30%; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; border: thin silver solid; margin: 0.5em; padding: 0.5em; }
Na realidade apenas as duas primeiras declarações (float e width) são suficientes, as demais têm efeito puramente decorativo.
Se você conhece a largura de todas as imagens do documento, para evitar o overflow da imagem você poderá declarar uma largura mínima para o DIV tal como mostrado a seguir:
div.figure { min-width: 150px; }
Forte em Saint Tropez ao por do sol
Para redimensionar a imagem de acordo com a largura de DIV.figure (tal como fizemos com a imagem mostrada à direita), declare o atributo CLASS e defina mais uma regra CSS de modo semelhante ao que fizemos com o exemplo para HTML5 mostrado anteriomente. Observe a marcação para este caso:
<div class=figure> <p><img class=scaled src="st-tropez.jpg" alt="St. Tropez"> <p>Forte em Saint Tropez ao por do sol </div>
E, a folha de estilo:
div.figure { float: right; width: 30%; border: thin silver solid; margin: 0.5em; padding: 0.5em; text-align: center; font-style: italic; font-size: smaller; text-indent: 0; } img.scaled { width: 100%; }
A única diferença para a folha de estilo do exemplo anterior foi o acréscimo da segunda regra de estilo: ela define a imagem com a largura igual a largura do elemento DIV (largura dentro da área da borda e do padding do elemento).
Criado em 17 Janeiro 2001;
Atualizado qua 06 jan 2021 05:40:49 UTC