Skip to content

Instantly share code, notes, and snippets.

@profburnes
Last active March 29, 2017 14:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save profburnes/687192ec16f2e70acbed565dcf9885c6 to your computer and use it in GitHub Desktop.
Save profburnes/687192ec16f2e70acbed565dcf9885c6 to your computer and use it in GitHub Desktop.
Utilizando Viewport Units
<!DOCTYPE html>
<html>
<head>
<title>Novas Medidas</title>
<meta charset="utf-8">
<meta name="viewport" content="width:device-width;height:device-height">
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
font-size: 12px;
}
h1 {
font-size: 1em;
}
#banner {
width: 100vw;
height: 100vh;
background: #F00;
}
</style>
</head>
<body>
<div id="banner">
</div>
<h1>Novas Medidas CSS</h1>
</body>
</html>

Utilizando Viewport Units

Todo desenvolvedor já deve ter ouvido falar em unidades de medidas como px (pixels), % e ems. Para quem nunca ouviu falar, vou fazer um breve comentário sobre cada uma: o pixel é a unidade de medida mais conhecida, utilizada por diversos softwares como Word e editores gráficos como Photoshop, Corel e Illustrator. O em é uma unidade tipográfica relacionado a letra M, que são variáveis como a porcentagem. Para utlizá-la multiplicamos o tamanho normal da letra por ela, por exemplo, o tamanho das fontes do texto da página está configurado para 12px:

body {
  font-size: 12px;
}
h1 {
  font-size: 2em;
}

O H1 ficará com 24px, baseado em 12px * 2 = 24px. Mudando o tamanho do font-size do body, alteramos automaticamente qualquer tamanho que utilize o em.

Novas Unidades

Com o passar do tempo novas medidas foram surgindo como as Viewpots Units, medidas baseadas no viewport da tela ou dispositivo, como as vmin, vmax, vh e vw, respectivamente para valores mínimo, máximo, height (altura) e width (largura) do viewport.

Se o dispositivo possui altura de 460px, 1vh teria o valor de 4.6px. É uma proporção de 1/100. Um exemplo: quero que um elemento tenha 100% do tamanho da tela, tanto de largura quanto de altura:

#banner {
  height: 100vh;
  width: 100vw;
  background: #F00;
}

O vmin e o vmax funcionam como o max-width/height e o min-width/height.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment