Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Padding e Margin

Olá,

Ainda tenho dificuldade de escolher entre esses 2 caras ai: padding e margin.

Repare neste trecho de codigo da aula:

.container__imagem {
    padding: 1em;
}

Para isto funcionar, foi necessário arrumar a seguinte parte do código:

.cabecalho__menu-hambuerguer {
    background-image: url("../img/Menu.svg");
    width: 24px;
    height: 24px;
    display: inline-block;
**    background-repeat: no-repeat;
    background-position: center;**
}

Fiz um teste, e caso eu substituisse padding: 1em; por margin: 1em;, não seria necessário incluir aquelas modificações no background de .cabecalho__menu-hambuerguer.

A minha dúvida é: Quando eu devo escolher um ou outro?

Sei que padding é o espaçamento interno, mas, nesse caso, tanto um quanto outro funcionariam nessa situação.

2 respostas
solução!

Oii Lucas, tudo bem?

Entendo que escolher entre padding e margin pode ser um pouco confuso às vezes, mas você está no caminho certo ao experimentar e observar as diferenças que cada um traz ao seu layout. Vou tentar esclarecer um pouco mais quando usar cada um.

O padding é o espaço interno entre o conteúdo de um elemento e sua borda como você disse. Ele é usado quando você quer aumentar o espaço dentro de um elemento. Por exemplo, se você quer que o texto dentro de um botão tenha mais espaço ao redor antes da borda do botão, você usaria padding.

O margin, por outro lado, é o espaço entre a borda de um elemento e os elementos adjacentes. É usado quando você quer controlar o espaço entre os elementos na página. Por exemplo, se você quiser que haja mais espaço entre dois botões em uma linha, você usaria margin.

No seu caso específico, ao substituir padding: 1em; por margin: 1em; no .container__imagem, você alterou o tipo de espaço que estava ajustando. Com padding, você estava aumentando o espaço dentro do elemento .container__imagem, o que poderia afetar como o background do .cabecalho__menu-hamburguer era exibido se eles estivessem em algum tipo de relação de contêiner para filho, ou próximo um do outro no layout. Ao mudar para margin, você começou a controlar o espaço entre o .container__imagem e seus elementos vizinhos, o que não interfere diretamente no layout interno do .cabecalho__menu-hamburguer, por isso não precisou das modificações no background.

A escolha entre padding e margin muitas vezes depende do resultado visual que você está tentando alcançar e como os elementos estão organizados em seu HTML e CSS. Uma boa prática é experimentar ambos e ver qual deles atende melhor às necessidades do seu layout específico, assim como você fez.

E com o tempo fica mais fácil você notar mais rapidamente quando usar cada propriedade.

Um abraço e bons estudos.

A escolha entre padding e margin depende do layout que você está tentando alcançar e do efeito visual que deseja para seus elementos HTML. Aqui estão algumas orientações básicas para ajudar na decisão:

Padding (preenchimento): Use padding quando quiser adicionar espaço interno entre o conteúdo de um elemento e suas bordas. É útil para separar o conteúdo do elemento de suas bordas, garantindo que o texto ou outros elementos não fiquem muito próximos das bordas. É ideal para adicionar espaço interno a botões, caixas de texto, áreas de conteúdo de um layout etc. O preenchimento não afeta a posição do elemento em relação a outros elementos na página. Margin (margem): Use margin quando quiser adicionar espaço externo ao redor de um elemento, controlando o espaço entre este elemento e outros elementos vizinhos. É útil para criar espaçamento entre elementos adjacentes na página. Ajuda a controlar o layout da página, permitindo que você posicione elementos com espaçamento consistente entre eles. A margem afeta a posição do elemento em relação a outros elementos na página. Em resumo, se você precisa de espaço dentro do próprio elemento, para separar seu conteúdo das bordas, use padding. Por outro lado, se precisa de espaço entre o elemento e outros elementos ao seu redor, use margin. Em muitos casos, você usará ambos para controlar o layout e o espaçamento dos elementos em sua página da web.