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

Posicionamento dos elementos

Olá galerinha, tudo bem?

Uma das maiores dificuldades que tenho em Html e Css é o posicionamento. Entendo bem o conceito de Css grid e Css Flexbox. Porém o que esta me matando hoje é o posicionamento dos elementos entre ele e não com relação ao topo da página.

Exemplo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeCódigo em Html

<section class="videoAcademia">
                <h3 class="videoAcademia__titulo">Nosso espaço</h3>
                <p class="videoAcademia__subtitulo">Nosso intuito é de preservar a saúde e bem-estar dos nossos alunos.</p>
                <!--<p class="videoAcademia__subtitulo">Através da pratica do esporte.</p> inserir depois-->
                <video class="videoAcademia__video" width="360" heigth="280" controls>
                    <source src="../Assets/img/videoAacademia.mp4" type="video/mp4">
                </video>
        </section>
        <section class="mapa">
            <h3 class="mapa__titulo">Nosso Estabelecimento</h3>
            <iframe src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d14638.137449066242!2d-46.6460811!3d-23.4772549!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0xc70f98dacee46e63!2sAcademia%20Gallos%20Gym!5e0!3m2!1spt-BR!2sbr!4v1648670916154!5m2!1spt-BR!2sbr" width="70%" height="300" style="border:0;" allowfullscreen="" loading="lazy" referrerpolicy="no-referrer-when-downgrade"></iframe>
        </section>

Código em Css:

.videoAcademia{ display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr 1fr; height: 40px; }

.videoAcademia__titulo{ text-align: center; color: var(--vermelhosangue); font-size: 3.5rem; margin: 60px 0; grid-column: span 2; }

.videoAcademia__subtitulo{ color: var(--vermelhosangue); font-size: 20px; margin: 7.5rem 7.5rem; grid-column: 1/1; grid-row: 2/2; }

.mapa{ align-items: center; display: flex; flex-direction: column; margin: 10rem 5rem; padding: 5em 0; text-align: center; }

.mapa__titulo{ text-align: center; color: var(--vermelhosangue); font-size: 35px; font-weight: bold; margin: 5rem 0; }

Observação: Não levem em consideração o que coloquei no devtools, eu estava testando os códigos para organizar a página.

Todos os elementos estão tirando a referência através do topo da página e não com o próximo elemento.

Vocês conseguiriam me auxiliar?

Desde já agradeço a ajuda

5 respostas

Oi galerinha

Consegui fazer aqui, tinha mudado o código para outra pasta e esqueci de colocar no import a informação.

Porém a maioria dos elementos continua se referenciando com o topo da página. Gostaria de um auxilio.

Tinha visto uma aula no alura, sobre Arquitetura CSS: descomplicando os problemas, separei cada parte dos elementos da página em pasta, seguindo a Metodologia. Ai acabei me confundindo um pouco, porém estou adaptando ainda. Não sei se isso interfere na referência dos elementos dentro de uma página.

Desde já agradeço a ajuda de vocês

solução!

Sobre os elementos referenciarem o topo da página tem a ver com posicionamento relativo. Cada elemento HTML sempre tem como referencia a tag < html >, então se você adiciona um position: absolute em um < p > que está dentro de uma < div > ele vai pegar como base o < html > e não a < div >

Para resolver isso e fazer com que o < p > passe a ter como referência a < div > você precisa adicionar um position: relative na < div > Dessa forma todos os elementos internos da < div > vão ter a própria < div > como referência e vão se posicionar a partir dela.

Espero ter ajudado.

Oi Bruno, tudo bem?

Eu entendi e ao mesmo tempo não (acho que você colocou trechos de código, porém não está aparecendo). Entendi sobre a questão do position relative e absolute, porém o elemento que tem estas propriedades, está ajustados dentro do Layout.

Em uma das aulas que estou fazendo, o professor falou sobre position: static; Creio que isso poderá me ajudar, ainda não testei, mas caso funcione, eu te sinalizo.

Creio que me compliquei ao separar os elementos por css, como no curso que mencionei acima, porém sigo tentando.

Obrigado pela suas orientações.

Ajustei as tags HTML da minha resposta, talvez ajude um pouco melhor agora. Se precisar podemos falar pelo discord e posso te ajudar com essas dúvidas.

Bruno, olá!

Ajudou sim, entendi agora o contexto. Muitíssimo obrigado. Irei aplicar em meu projeto.