Imagens Mobile-First
Parte da seção Practical Frontend do Journey de HTML da Coddy — lição 9 de 35.
Imagens Mobile-First significa garantir que as imagens funcionem bem em telas pequenas primeiro e, em seguida, aprimorá-las para telas maiores. Em dispositivos móveis, imagens grandes e pesadas podem atrasar o carregamento, por isso começamos com versões menores e otimizadas. À medida que as telas aumentam, podemos substituí-las por imagens de maior qualidade
Vamos usar o elemento HTML picture para servir diferentes tamanhos de imagem com base na largura da tela.
<strong><picture></strong>→ contêiner que contém múltiplas opções de imagem para diferentes telas.
<strong><source></strong>→ define qual imagem carregar (srcset) e sob qual condição (media). Exemplo: celular (≤600px) → imagem pequena; tablet (≤1024px) → imagem média.
<strong><img></strong>→ fallback se nenhum<source>corresponder, geralmente a imagem grande para desktop. Também contém o textoalt.
<picture>
<source srcset="small-image.jpg" media="(max-width: 600px)">
<source srcset="medium-image.jpg" media="(max-width: 1024px)">
<img src="large-image.jpg" alt="Description of image">
</picture>Desafio
FácilVocê recebeu o objetivo de exibir uma imagem da Lua que fique bem tanto em telas de dispositivos móveis quanto em desktops.
Sua tarefa:
- Use o elemento
<strong><picture></strong>para configurar imagens responsivas. - Para telas de 768px ou mais largas, carregue a imagem maior da Lua:
https://upload.wikimedia.org/wikipedia/commons/e/e1/FullMoon2010.jpg Para telas menores (padrão móvel), carregue a imagem menor da Lua:
https://upload.wikimedia.org/wikipedia/commons/thumb/e/e1/FullMoon2010.jpg/330px-FullMoon2010.jpg- Certifique-se de incluir
alt="Moon in the night sky"para acessibilidade.
Folha de consulta
Use o elemento <picture> para imagens responsivas mobile-first:
<picture>→ wrapper para múltiplas opções de imagem<source>→ define a imagem (srcset) e a condição (media)<img>→ imagem de fallback com textoalt
<picture>
<source srcset="small-image.jpg" media="(max-width: 600px)">
<source srcset="medium-image.jpg" media="(max-width: 1024px)">
<img src="large-image.jpg" alt="Description of image">
</picture>Comece com imagens menores e otimizadas para dispositivos móveis e, em seguida, aprimore para telas maiores para melhorar o desempenho de carregamento.
Experimente você mesmo
<!DOCTYPE html>
<html>
<head>
<title>Mobile-First Images</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 1rem;
line-height: 1.6;
background: #0a0a23;
color: #f5f5f5;
}
header {
text-align: center;
margin-bottom: 1.5rem;
}
h1 {
font-size: 1.5rem;
color: #ffd369;
}
.content {
max-width: 800px;
margin: 0 auto;
}
img {
max-width: 100%;
height: auto;
border-radius: 8px;
margin: 1rem 0;
}
p {
font-size: 1rem;
}
@media (min-width: 768px) {
h1 {
font-size: 2.25rem;
}
p {
font-size: 1.125rem;
}
}
</style>
</head>
<body>
<header>
<h1>The Moon</h1>
</header>
<main class="content">
<p>
The Moon is Earth's only natural satellite and has fascinated humans for thousands of years.
It influences tides, inspires myths, and continues to be a target for exploration.
</p>
<p>
Mobile-first images ensure the page loads fast on smaller devices while still looking
beautiful on bigger screens.
</p>
</main>
</body>
</html>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Practical Frontend
2Estratégia Mobile-First
O que significa “mobile-first”Tipografia Mobile-FirstNavegação Mobile-FirstImagens Mobile-FirstFormulários Mobile-FirstDesafio de Recapitulação