Como um desenvolvedor front-end, entender o modelo de caixa CSS é o sucesso ou o fracasso para ser capaz de fornecer layouts perfeitos em pixels. Vamos nos aprofundar e discutir como os elementos inline e de bloco se comportam de maneira diferente no contexto dos dois tipos de modelo de caixa – caixa de conteúdo e caixa de borda.
Antes de entrarmos em detalhes, vale a pena recapitular o que é o modelo da caixa. Cada elemento da sua página é uma caixa (sim, mesmo aqueles que não parecem ter um formato quadrado). As caixas podem estar dentro, contendo e/ou ao lado de outras caixas.
O modelo de caixa se aplica a todos eles e consiste em:
Portanto, quase todos os elementos HTML dentro e incluindo o
, e todos os pseudoelementos CSS, são uma caixa. As "paredes" dessa caixa são sua borda e podem receber uma espessura (ou largura. Entre esse conteúdo e as paredes dessa caixa você tem preenchimento. Entre essas paredes e outras caixas, você tem margem.É crucial entender as principais diferenças em como o modelo de caixa impacta os elementos inline versus os elementos de bloco:
Largura: Os elementos do bloco se expandem para preencher seu contêiner por padrão. Elementos embutidos? Eles ocupam espaço suficiente para seu conteúdo.
Altura: Para elementos de bloco, preenchimento, borda e margem aumentarão a altura. Os elementos embutidos permanecem dentro da altura da linha, independentemente do preenchimento vertical ou das bordas.
Impacto do layout: Os elementos do bloco influenciam o layout horizontal e vertical. Os elementos inline tratam do fluxo horizontal, com impacto mínimo no espaçamento vertical.
Recolhimento de margem: O recolhimento de margem é um comportamento específico para elementos de bloco, onde margens verticais adjacentes podem se fundir (portanto, um margin-bottom:20px em um elemento pode ser recolhido em um margin-top: 20px em um elemento seguinte, criando uma margem de 20px). Elementos embutidos não funcionam neste jogo.
Agora que conhecemos os componentes do modelo de caixa e a diferença entre elementos inline e de bloco, vamos ver como as caixas de conteúdo são afetadas pela propriedade box-sizing, dependendo se são um elemento inline ou de bloco.
A propriedade box-sizing controla como a largura e a altura de um elemento são calculadas e pode impactar significativamente o layout.
Quando box-sizing: content-box é aplicado a um elemento inline:
Quando box-sizing: content-box é aplicado a um elemento de bloco:
Quando box-sizing: border-box é aplicado a um elemento embutido:
Quando box-sizing: border-box é aplicado a um elemento de bloco:
Vale ressaltar que, embora content-box seja o padrão, border-box é amplamente considerado mais intuitivo e fornece o maior grau de controle.
O modelo de caixa CSS não é apenas um conceito poderoso - é uma ferramenta fundamental em seu arsenal de desenvolvimento de front-end. Ao compreender como o dimensionamento da caixa afeta os elementos embutidos e de bloco de maneira diferente, você pode começar a criar layouts perfeitos, nítidos e funcionais, sem o incômodo de solucionar problemas de layouts que se comportam mal.
Se você gostou deste download no Box Model, passe o mouse sobre a caixa em formato de coração no canto superior esquerdo e mostre todo o seu amor a este post!
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3