Element get pushed down in the grid

I get this problem very often. when i set the final media query then some elements get pusched down.

can enyone help me?

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link rel="stylesheet" href="reset.css">
	<link rel="stylesheet" href="stijl.css">
	<title>Web Technology - Tussentijdse test - 9 november 2023</title>
</head>
<body>
    <header>
        <h3><span></span><span></span><span></span></h3>
        <h1>Web Technology</h1>
        <nav>
            <ul>
                <li>
                    <a href="#" class="geselecteerd">Home</a>
                </li>
                <li>
                    <a href="#">Box Model</a>
                </li>
                <li>
                    <a href="#">CSS Grid</a>
                </li>
                <li>
                    <a href="#">CSS Positioning</a>
                </li>
                <li>
                    <a href="#">Responsive Design</a>
                </li>
            </ul>
        </nav>
    </header>
    <main>
        <article>
            <h2><a href="#">CSS Grid</a></h2>
            <h4>5 november 2023<br>Geplaatst door Kristof</h4>
            <p>CSS Grid Layout is een veelzijdig tweedimensionaal lay-outmechanisme voor webpagina's, dat <a href="#">ontwikkelaars</a> in staat stelt om zowel kolommen als rijen te definiëren voor een flexibele en responsieve structuur. Het vervangt oudere technieken en maakt ingewikkelde lay-outs makkelijker te <a href="#">realiseren</a> met minder code, terwijl het een betere compatibiliteit met verschillende schermformaten biedt.</p>
            <ul class="figuur figuur_1">
                <li></li>
                <li></li>
                <li></li>
                <li></li>
                <li></li>
            </ul>
        </article>
        <article>
            <h2><a href="#"> Mobile first</a></h2>
            <h4>1 november 2023<br>Geplaatst door Jeroen</h4>
            <p>Mobile-first design is een benadering waarbij webontwikkeling start vanuit het <a href="#">kleinste scherm</a>, prioriteit gevend aan mobiele ervaringen. Dit verzekert optimale bruikbaarheid op smartphones en tablets, waarna lay-outs progressief worden uitgebreid voor grotere schermen via <a href="#">responsive design</a>, gebruikmakend van technieken zoals CSS Grid voor vloeiende, adaptieve interfaces.</p>
            <div class="figuur figuur_2">
                <h3>Mobile first ontwerpfilosofie</h3>
                <p></p>
                <p></p>
            </div>
        </article>
    </main>
    <footer>
        <p>Web Technology - Tussentijdse evaluatie - 9 nov 23</p>
    </footer>
</body>
</html>
/* drie basisstijlregels om je te helpen */
:root {
  font-size: 100%; /* zet je dit op 62.5%, dan is elke rem 10px waard, anders 16px */
}
html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

/*
Blijf rustig. Denk goed na. Blijf niet te lang hangen bij details.
Studenten met kleurenblindheid: probeer de kleuren naar best vermogen aan te brengen. Maak je geen zorgen.
Gebruikte kleuren:
oranje / #f87f4b
roze / #fab8d3
groen / #37bb95
geel / #f0eb70
paars / #9270c4
Verder: black (zwart) en #f5f5f5 (grijs)
*/

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1.3rem;
    padding: 1rem;
    height: 100%;
}


header nav{
    display: none;
}


header{
    display: grid;
    grid-template-columns: 2rem 1fr;
    padding-bottom: 2rem;
}

h3{
    display: grid;
    text-align: left;
}

span{
    border-top: 2px solid black;
    display: inline;
    width: 2rem;
}

header h1{
    text-align: center;
    font-weight: 800;
    font-size: 2rem;
}

article h2 a{
    text-decoration: none;
    color: black;
}

article{
    display: grid;
    grid-template-columns: 1fr 1fr;
}

article h2{
    grid-column: 1/2;
    padding: 1rem;
    padding-top: 1.5rem;
    padding-left: 0;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

article h4{
    grid-column: 2/3;
    text-align: right;
    padding: 1rem;
    padding-right: 0;
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

article p{
    grid-column: 1/3;
    line-height: 1.8rem;
    padding: 1rem 0;
}

article:nth-of-type(1) p a{
    color: #37bb95;
}

article:nth-of-type(2) p a{
    color: #f87f4b;
}

.figuur{
    grid-column: 1/3;
    border: 1px solid black;
    width: 100%;
}

.figuur_1{
    display: grid;
}

.figuur_1 li{
    height: 10vh;
    display: block;
}

.figuur_1 li:nth-of-type(1){
    background-color: #f87f4b;
}

.figuur_1 li:nth-of-type(2){
    background-color: #fab8d3;
}

.figuur_1 li:nth-of-type(3){
    background-color: #37bb95;
}

.figuur_1 li:nth-of-type(4){
    background-color: #f0eb70;
}

.figuur_1 li:nth-of-type(5){
    background-color: #9270c4;
}

.figuur_2{
    background-image: url(afbeelding.jpg);
    background-size: cover;
    height: 60vh;
    position: relative;
}

.figuur_2 h3{
    color: #9270c4;
    background-color: white;
    position: absolute;
    left: 1rem;
    bottom: 1rem;
}

.figuur_2 p:nth-of-type(1){
    height: 3rem;
    width: 3rem;
    background-color: #f87f4b;
    position: absolute;
    left: 1rem;
    top: 1rem;
}

.figuur_2 p:nth-of-type(2){
    height: 3rem;
    width: 3rem;
    background-color: #fab8d3;
    position: absolute;
    right: 1rem;
    top: 1rem;
}

footer{
    padding-top: 2rem;
}


@media (min-width: 900px) {
    body{
        display: grid;
        grid-template-columns: 1fr 3fr;
        height: 100%;
    }

    header h3{
        display: none;
        width: 100%;
    }

    
    h3 {
        display: none;
    }

    h1 {
        text-align: left;
        width: 20rem;
    }

    nav {
        display: block;
        text-align: left;
    }

    header nav{
        display: block;
        margin-top: 3rem;
        margin-left: -2rem;
    }

    nav ul li{
        height: 2rem;
    }

    nav ul li a{
        color: #9270c4;
    }

    nav ul li a:hover{
        background-color: #9270c4;
        color: white;
        text-decoration: none;
        
    }
    
    .figuur_1{
        display: grid;
        grid-template-columns: repeat(6,1fr);
        height: 60vh;
    }

    .figuur_1 li{
        height: 100%;
    }

    .figuur_1 li:nth-of-type(1){
        background-color: #f87f4b;
        grid-column: 1/2;
    }
    
    .figuur_1 li:nth-of-type(2){
        background-color: #fab8d3;
        grid-column: 2/4;
    }
    
    .figuur_1 li:nth-of-type(3){
        background-color: #37bb95;
        grid-column: 4/7;
    }
    
    .figuur_1 li:nth-of-type(4){
        background-color: #f0eb70;
        grid-column: 1/4;
    }
    
    .figuur_1 li:nth-of-type(5){
        background-color: #9270c4;
        grid-column: 4/7;
    }

    .figuur_2 h3{
        left: 1rem;
        bottom: 1rem;
    }
    
    .figuur_2 p:nth-of-type(2){
        left: 5rem;
    }

    .figuur_2 h3{
        display: inline;
        padding: 0.5rem;
    }

    footer{
        grid-column: 2/3;
    }
}

@media (min-width: 1200px) {

    body {
        display: grid;
        grid-template-columns: 3fr 1fr; /* 3:1 ratio for main content and sidebar */
        gap: 1rem;
    }

    header {
        grid-column: 2/3; /* Ensure header spans both columns */
    }

    main {
        grid-column: 1 / 2; /* Main content in the first column */
    }

    footer {
        grid-column: 1 / 2; /* Footer spans both columns */
    }
}
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

Hi there!

When elements get pushed down with a media query, it often happens due to a change in layout, padding, margin, or even a new display property (like switching to flex or grid).
Can you post a live link to your code, that we can play around with it to solve your problem.

Thank you voor the answer, but I have Solved it.

1 Like