Bonjour à tous,
Cela fait un bail que j'ai pas fait d'HTML/CSS et je crois que je suis un peu rouillé. J'aimerais produire un layout contenant une bannière contenant une image (responsive), un menu et un contenu centré à 70% de largeur. Enfin, voir l'image c'est plus claire.
Voici les requis :
- L'image de l'en-tête (zone NOIR) s'ajustera en hauteur en fonction des dimension du viewport. Je supporterai 3 résolutions.
- Si le viewport dépasse 1200 pixels en largeur alors l'image en background (zone NOIR) doit cesser d'agrandir.
- Dépendemment de la hauteur de l'image, le contenu doit se situer plus haut par-dessus, de sorte qu'il soit toujours à la même position.
Jusqu'ici j'ai produit côté HTML :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <div id="pageWrapper"> <header id="header"> <h1>EnCorps</h1> </header> <div id="main"> <nav>Navigation</nav> <section id="mainBody"> ... </section> </div> <footer id="footer"> <p>Footer</p> </footer> </div> </body> </html>
Et le CSS :
Je semble avoir oublié les notion de marge et position (relative/absolute). Avec le code actuel mon contenu se retrouve beaucoup trop bas, et mes menu se retrouve juste au-dessus de mon contenu au lieu d'être plus en haut.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 #pageWrapper{ max-width: 1200px; margin: 0 auto; } #header{ background: url('background.png'); background-repeat: no-repeat; background-position: top center; background-size: cover; height: 628px; } #main{ width:70%; margin: 0 auto; } #mainBody{ background-color: white; position: relative; margin: -290px auto; min-height: 300px; padding: 20px 10px; border-radius: 3px; } #footer{ clear: both; } @media all and (max-width: 300px){ #header {height: 150px;} #main{ margin: -90px auto;} } @media (min-width: 300px) and (max-width: 600px){ #header {height: 300px;} #main {margin: -180px auto;} } @media all and (min-width: 600px){ #header {height: 600px;} #main{margin: -360px auto;} }
Sinon, peut-être que je m'y prend mal ?
À la place, devrais :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <div id="pageWrapper" style="position :relative;"> <nav style="position :relative;" margin-top :40px;"> Menu </nav> <section style="position :relative;" margin-top :200px;"> Contenu </section> <img src="background..." style="???"> </div>
Bref, je suis un peu à court d'idée
Merci
Partager