CSS Flexbox (caixa flexível)


Índice

    Mostrar índice


1

2

3

4

5

6

7

8

Experimente você mesmo →

<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
  display: flex;
  flex-wrap: nowrap;
  background-color: DodgerBlue;
}

.flex-container > div {
  background-color: #f1f1f1;
  width: 100px;
  margin: 10px;
  text-align: center;
  line-height: 75px;
  font-size: 30px;
}
</style>
</head>
<body>
<h1>Flexible Boxes</h1>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>  
  <div>4</div>
  <div>5</div>
  <div>6</div>  
  <div>7</div>
  <div>8</div>
</div>

<p>Try to resize the browser window.</p>
<p>A container with "flex-wrap: nowrap;" will never wrap its items.</p>
<p><strong>Note:</strong> Flexbox is not supported in Internet Explorer 10 or earlier versions.</p>

</body>
</html>

Módulo de layout CSS Flexbox

Antes do módulo Flexbox Layout, havia quatro modos de layout:

Block

Tipo bloco, para seções de uma página da web

Inline

Inline, para texto

Table

Tabela, para dados de tabela bidimensionais

Positioned

Posicionado, para posição explícita de um elemento

O módulo de layout de caixa flexível torna mais fácil projetar uma estrutura de layout responsiva e flexível sem usar flutuação ou posicionamento.


Suporte ao navegador

As propriedades do flexbox são suportadas em todos os navegadores modernos.

29.0 11.0 22.0 10 48

Elementos Flexbox

Para começar a usar o modelo Flexbox, primeiro você precisa definir um flex container.

1

2

3

O elemento acima representa um flex container (a área azul) com três flex items.

Exemplo

Um contêiner flexível com três itens flexíveis:

<div 
  class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>
</div>

Experimente você mesmo →

<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
  display: flex;
  background-color: DodgerBlue;
}

.flex-container > div {
  background-color: #f1f1f1;
  margin: 10px;
  padding: 20px;
  font-size: 30px;
}
</style>
</head>
<body>

<h1>Create a Flex Container</h1>

<div class="flex-container">
  <div>1</div>
  <div>2</div>
  <div>3</div>  
</div>

<p>A Flexible Layout must have a parent element with the <em>display</em> property set to <em>flex</em>.</p>

<p>Direct child elements(s) of the flexible container automatically becomes flexible items.</p>

</body>
</html>


Você aprenderá mais sobre contêineres flexíveis e itens flexíveis nos próximos capítulos.