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

Posicionamento e espaçamento CSS

Olá eu tenho uma pequena dúvida de como trabalhar com posicionamento e espaçamento utilizando CSS. Estou treinando tentando criar um layout que esta em .PSD estou passando todo esse layout para o HTML e CSS. No entanto estou com algumas dúvidas sobre como posicionar meu menu de navegação.

Gostaria de saber se é possível me explicarem como melhor entender sobre esses espaçamento interno e externo pois ainda tenho muita dúvida de como usa-los e quando usa-los.

    <div id="page-home">
        <div class="content-home">
            <header>
                <img src="/assets/images/logo.png" alt="logo-legion">
                <nav class="nav-header">
                    <ul class="nav-header">
                        <li>Home</li>
                        <li>Create Account</li>
                        <li>Game</li>
                        <li>Community</li>
                    </ul>
                </nav>
            </header>
            <ul class="line-header">
                <li></li>
            </ul>
        </div>
    </div>
@font-face {
    font-family: fontLegion;
    src: url('/assets/fonts/legionFont.TTF');
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-family: fontLegion, Arial, Helvetica, sans-serif;
}

body {
    background: url('/assets/images/background.png') no-repeat;
}

.content-home {
    max-width: 1920px;
    max-height: 960px;
}

#page-home .content-home header {
    background-color: #271112;
    width: 100vw;
    height: 110px;
    opacity: 0.7;
}

#page-home .content-home header img nav.nav-header ul.nav-header li ul.line-header {
    padding: 0;
    list-style: none;
    width: 100%;
}

#page-home .content-home header img nav.nav-header ul.nav-header li ul.line-header li {
    padding-top: .5rem;
}

#page-home .content-home header img nav.nav-header ul.nav-header li ul.line-header li::after {
    content: "";
    border-bottom: 1px solid green;
    padding-top: .5rem;
}

#page-home .content-home header img nav.nav-header ul.nav-header li ul.line-header li:last-child::after {
    display: none;
}
2 respostas

Olá Marco, tudo bem?

Primeiramente, peço desculpas pela demora para responder!

A seguir vai um resuminho sobre espassamentos internos e externos.

A propriedade padding define uma a distância entre o conteúdo de um elemento e suas bordas, ou seja, o espaçamento interno. Já o margin, irá definir a distância a partir da borda de um elemento até outro elemento, sendo assim, o espaçamento externo.

Vamos entender melhor esses conceitos através do esquema!

Parte 1: HTML


Iremos criar 3 divs que irão representar 3 quadrados coloridos.

    <div class="q1">Quadrado 1</div>
    <div class="q2">Quadrado 2</div>
    <div class="q3">Quadrado 3</div>

Parte 2: CSS


Iremos criar esses quadrados dando a eles uma altura, largura e estilizaremos com bordas, margens externas e internas.

div {
    width: 200px;
    height: 200px;
    border: 10px solid salmon;
    margin: 50px;
    padding: 30px;
    font-size: 30px;
}

No esquema a seguir, irei mostrar como se comportam as propriedades margin e padding no nosso exemplo.

margin: 50px


três quadrados compostos de cor de fundo, borda e texto e há uma marcação externa entre esses quadrados que compreende o margin: 50pxO margin é representado no esquema com essa cor que preenche todo o elemente externamente, do lado de fora da borda.

padding: 30px


marcação interna em cada quadrado que vai do conteúdo por escrito até a borda e representa o padding: 30px

O padding é representado no esquema por esse respiro entre o conteúdo escrito e a borda, configurando um espassamento interno.

No dia a dia do desenvolvimento, você perceberá que existem situações em que não há cor de fundo ou borda e isso dificulta o mapeamento de onde estão esses dois tipos de espassamentos, mas ainda assim eles estão presentes e a ferramenta do desenvolvedor (F12) é uma ótima aliada para nos ajudar a encontrá-los.

(continua...)

solução!

Um exemplo prático de utilização do padding e do margin, é o da página de produtos que será desenvolvida durante os cursos de HTML e CSS aqui da Alura. Veja:

margin


três caixas compostas de borda e conteúdo interno e há uma marcação entre as caixas para representar o margin

padding


dentro de cada caixa há uma marcação para representar o padding que vai da borda até o conteúdo escrito

Espero ter ajudado, em caso de dúvidas fique a vontade para perguntar. Bons estudos!