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

Sobre espaçamento e ajuste de bloco

Olá pessoal, boa noite. Não entendi como as propriedades width, padding e box-sizing trabalham em conjunto para deixar as imagens de cabelo, barba e cabelo+ barba com o espaçamento bonitinho.

.produtos li {
    display: inline-block;             
    text-align: center;
    width: 30%;                    
    vertical-align: top;            
    background: #CCCCCC;
    margin: 0 1.5%;
    padding: 30px 20px;
    box-sizing: border-box;            
}

Alguém pode me auxiliar, por favor?

2 respostas
solução!

Peço desculpas de antemão pelo tamanho da resposta mas tentei ser o mais claro possível pois foi algo que me intrigou muito no início kjkkjk

Olá Eliana beleza? Então, a width formata a largura que o elemento vai ter como um todo. A margin formata qual a distância que ela estará do elemento pai, neste caso é o elemento com classe .produto (provavelmente uma ul), e o elemento padding formata o espaçamento interno dos elementos em questão, neste caso, tudo que estiver dentro do .produto li.

Você pode perceber que se formatarmos a width, margin e padding no elemento ele ira "estourar" a largura máxima que definimos (os 30%). E ai que entra o box-sizing. Ele irá limitar o elemento e suas configurações a partir de onde queremos (neste caso border-box, com borda e padding adicionados ao cálculo de largura) limitando as medidas que utilizarmos no elemento para que ele não "vaze" da largura que definimos :D

Você pode experimentar tirar o box-sizing: border-box e aumentar o padding da esquerda com um padding-left: 70px d verá que ele pode "estourar" o tamanho definido de 30%. Isto acontece pois o box-sizing define como a largura será definida, incluindo o padding e a borda ou não!

Assim, quando não queremos diminuir a largura da imagem ou queremos definir um tamanho específico para algum bloco, utilizamos estas 3 medidas unidas para dar um alinhamento ao que queremos!

Aqui você encontra sobre estas 3 medidas e suas especificaçõe:

width - https://www.w3schools.com/cssref/pr_dim_width.asp

margin - https://www.w3schools.com/css/css_margin.asp

padding - https://www.w3schools.com/cssref/pr_padding.asp

box-sizing - https://www.w3schools.com/cssref/css3_pr_box-sizing.asp

Oi André,

Muito obrigada, dei uma olhada nos links que enviou, revi o código me baseando na sua explicação e ficou muito mais claro.

valeu :)