Display
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
A propriedade display
CSS define se um elemento é tratado como um bloco ou elemento inline e o layout usado para seus filhos, como layout de fluxo, grid ou flex.
Formalmente, a propriedade display
define os tipos de exibição internos e externos de um elemento. O tipo externo define a participação de um elemento no layout de fluxo; o tipo interno define o layout dos filhos. Alguns valores de display
são totalmente definidos em suas próprias especificações individuais; por exemplo, o detalhe do que acontece quando display: flex
é declarado é definido na especificação CSS Flexible Box Model.
Sintaxe
A propriedade CSS display
é especificada usando valores de palavra-chave.
/* valores pré-compostos */
display: block;
display: inline;
display: inline-block;
display: flex;
display: inline-flex;
display: grid;
display: inline-grid;
display: flow-root;
/* geração de caixas */
display: none;
display: contents;
/* sintaxe de dois valores */
display: block flow;
display: inline flow;
display: inline flow-root;
display: block flex;
display: inline flex;
display: block grid;
display: inline grid;
display: block flow-root;
/* outros valores */
display: table;
display: table-row; /* todos os elementos da tabela têm um valor de exibição CSS equivalente */
display: list-item;
/* Valores globais */
display: inherit;
display: initial;
display: revert;
display: revert-layer;
display: unset;
Valores agrupados
Os valores de palavra-chave podem ser agrupados em seis categorias de valor.
Fora
-
essas palavras-chave especificam o tipo de exibição externa do elemento, que é essencialmente sua função no layout de fluxo:
block
-
O elemento gera uma caixa de elemento de bloco, gerando quebras de linha antes e depois do elemento quando no fluxo normal.
inline
-
O elemento gera uma ou mais caixas de elemento em linha que não geram quebras de linha antes ou depois de si mesmas. No fluxo normal, o próximo elemento estará na mesma linha se houver espaço.
Nota:
Navegadores que suportam a sintaxe de dois valores, ao localizar apenas o valor externo, como quando display: block
ou display: inline
é especificado, definirão o valor interno como flow
.
Isso resultará no comportamento esperado; por exemplo, se você especificar um elemento para ser bloco, você esperaria que os filhos desse elemento participassem do bloco e do layout de fluxo normal embutido.
Lado de dentro
-
Estas palavras-chave especificam o tipo de exibição interna do elemento, que define o tipo de contexto de formatação em que seu conteúdo é apresentado (supondo que seja um elemento não substituído):
flow
Experimental-
O elemento apresenta seu conteúdo usando o layout de fluxo (layout de bloco e linha).
Se seu tipo de exibição externa for
inline
ourun-in
, e estiver participando de um bloco ou contexto de formatação inline, ele gerará uma caixa inline. Caso contrário, gera uma caixa de contêiner de bloco.Dependendo do valor de outras propriedades (como
position
,float
ouoverflow
) e se ele próprio está participando em um contexto de formatação em bloco ou em linha, ele estabelece um novo contexto de formatação de bloco (BFC) para seu conteúdo ou integra seu conteúdo em seu contexto de formatação pai. flow-root
-
O elemento gera uma caixa de elemento de bloco que estabelece um novo contexto de formatação de bloco, definindo onde está a raiz de formatação.
table
-
Esses elementos se comportam como elementos HTML