Nous allons étudier la structure d'un site web fixe.
Exemple Html Fixe :
<!Doctype html> <html> <head> <title>Mon Site Fixe SANS Responsive</title> <link rel="stylesheet" href="site-fixe.css" /> </head> <body> <div id="conteneur"> <header> <p>Haut</p> </header> <nav> <p>Menu</p> </nav> <section> <div class="a"><p>A</p></div> <div class="b"><p>B</p></div> <div class="clear"></div> <div class="c"><p>C</p></div> <div class="d"><p>D</p></div> <div class="clear"></div> </section> <footer> <p>Bas</p> </footer> </div> </body> </html>
#conteneur{ border: 2px solid; margin: 0 auto; width: 960px; } header{ background: #f6523f; height: 100px; } p{ margin: 0; } nav{ background: #665533; height: 30px; } section{ background: #f23f98; margin: 20px; } footer{ background: #32f65f; height: 50px; } .a{ float: left; width: 460px; height: 250px; background: #336699; } .b{ float: left; width: 460px; height: 250px; background: #767676; } .c{ float: left; width: 460px; height: 250px; background: #fda500; } .d{ float: left; width: 460px; height: 250px; background: #aa2355; } .clear{ clear: both; }
border: 2px solid;
permet de dessiner une bordure de 2 pixels tout autour.margin: 0 auto;
permet de centrer la page web horizontalement.width: 960px;
permet de donner une largeur fixe.background: #f6523f;
permet d'appliquer une couleur de fond.height: 100px;
permet de donner une hauteur fixe.margin: 0;
permet de "casser" l'heritage de marges.background: #665533;
permet d'appliquer une couleur de fond.height: 30px;
permet de donner une hauteur fixe.background: #f23f98;
permet d'appliquer une couleur de fond.margin: 20px;
permet de donner une marge tout autour de la zone.background: #32f65f;
permet d'appliquer une couleur de fond.height: 50px;
permet de donner une hauteur fixe.float: left;
donne un effet flottantwidth: 460px;
donne une largeur fixeheight: 250px;
donne une hauteur fixebackground: #336699;
donne une couleur de fondclear: both;
permet de "stopper" l'effet flottant (initié par le float: left;
).
<!Doctype html> <html> <head> <title>Mon Site Responsive</title> <link rel="stylesheet" href="site-adaptatif.css" /> </head> <body> <div id="conteneur"> <header> <p>Haut</p> </header> <nav> <p>Menu</p> </nav> <section> <div class="a"><p>A</p></div> <div class="b"><p>B</p></div> <div class="clear"></div> <div class="c"><p>C</p></div> <div class="d"><p>D</p></div> <div class="clear"></div> </section> <footer> <p>Bas</p> </footer> </div> </body> </html>
#conteneur{ border: 2px solid; margin: 0 auto; width: 960px; } header{ background: #f6523f; height: 100px; } p{ margin: 0; } nav{ background: #665533; height: 30px; } section{ background: #f23f98; margin: 20px; } footer{ background: #32f65f; height: 50px; } .a{ float: left; width: 460px; height: 250px; background: #336699; } .b{ float: left; width: 460px; height: 250px; background: #767676; } .c{ float: left; width: 460px; height: 250px; background: #fda500; } .d{ float: left; width: 460px; height: 250px; background: #aa2355; } .clear{ clear: both; } /********************************** PARTIE RESPONSIVE ADAPTATIVE ************************************/ @media screen and (max-width: 1050px){ #conteneur{ width: 750px; } .a, .b, .c, .d{ width: 355px; } } @media screen and (max-width: 780px){ #conteneur{ width: 550px; } .a, .b, .c, .d{ width: 255px; } } @media screen and (max-width: 580px){ #conteneur{ width: 100%; } .a, .b, .c, .d{ width: 100%; height: 125px; } section{ margin: 0; } } /********************************** PARTIE RESPONSIVE ADAPTATIVE ************************************/
border: 2px solid;
permet de dessiner une bordure de 2 pixels tout autour.margin: 0 auto;
permet de centrer la page web horizontalement.width: 960px;
permet de donner une largeur fixe.background: #f6523f;
permet d'appliquer une couleur de fond.height: 100px;
permet de donner une hauteur fixe.margin: 0;
permet de "casser" l'heritage de marges.background: #665533;
permet d'appliquer une couleur de fond.height: 30px;
permet de donner une hauteur fixe.background: #f23f98;
permet d'appliquer une couleur de fond.margin: 20px;
permet de donner une marge tout autour de la zone.background: #32f65f;
permet d'appliquer une couleur de fond.height: 50px;
permet de donner une hauteur fixe.float: left;
donne un effet flottantwidth: 460px;
donne une largeur fixeheight: 250px;
donne une hauteur fixebackground: #336699;
donne une couleur de fondclear: both;
permet de "stopper" l'effet flottant (initié par le float: left;
).@media screen and (max-width: 1050px){#conteneur{ width: 750px; } .a, .b, .c, .d{ width: 355px; } }
entre 780px et 1050px, le #conteneur fera 750px de large et les zones .a, .b, .c, .d feront 355px. de large@media screen and (max-width: 1050px){#conteneur{ width: 750px; } .a, .b, .c, .d{ width: 355px; } }
entre 780px et 1050px, le #conteneur fera 750px de large et les zones .a, .b, .c, .d feront 355px. de large@media screen and (max-width: 780px){ #conteneur{ width: 550px; } .a, .b, .c, .d{ width: 255px; } }
entre 0px et 780px, le #conteneur fera 550px et les zones .a, .b, .c, .d feront 510px.@media screen and (max-width: 580px){ #conteneur{ width: 100%; } .a, .b, .c, .d{ width: 100%; height: 125px; }section{ margin: 0; } }
entre 0px et 580px, le #conteneur fera 100% (580px ou -) et les zones .a, .b, .c, .d feront 100% (580px ou -)
Exemple Html Fluide :
<!Doctype html> <html> <head> <title>Mon Site Responsive</title> <link rel="stylesheet" href="site-fluide.css" /> </head> <body> <div id="conteneur"> <header> <p>Haut</p> </header> <nav> <p>Menu</p> </nav> <section> <div class="a"><p>A</p></div> <div class="b"><p>B</p></div> <div class="clear"></div> <div class="c"><p>C</p></div> <div class="d"><p>D</p></div> <div class="clear"></div> </section> <footer> <p>Bas</p> </footer> </div> </body> </html>
#conteneur{ border: 2px solid; margin: 0 auto; width: 80%; max-width: 1200px; font-size: 1.2vw; } header{ background: #f6523f; height: 15vh; } p{ margin: 0; } nav{ background: #665533; height: 5vh; } section{ background: #f23f98; margin: 2%; } footer{ background: #32f65f; height: 7.5vh; } .a{ float: left; width: 50%; height: 28vh; background: #336699; } .b{ float: left; width: 50%; height: 28vh; background: #767676; } .c{ float: left; width: 50%; height: 28vh; background: #fda500; } .d{ float: left; width: 50%; height: 28vh; background: #aa2355; } .clear{ clear: both; }
border: 2px solid;
permet de dessiner une bordure de 2 pixels tout autour.margin: 0 auto;
permet de centrer la page web horizontalement.width: 80%;
permet de donner une largeur de 80% au conteneur (80 % de la taille de l'écran, sauf dans le cas d'une max-width, celui ci sera donc toujours adapté).max-width: 1200px;
La largeur maximum est fixée à 1200px. Par conséquent le conteneur fera 80% de 1200px ou 80% d'une largeur inférieure (selon la taille de l'écran / fenêtre)font-size: 1.2vw;
La taille du texte sera de 1,2 ViewPortWidhtbackground: #f6523f;
permet d'appliquer une couleur de fond.height: 15vh;
permet de donner une hauteur de 15 ViewPortHeight (15% en hauteur).margin: 0;
permet de "casser" l'heritage de marges.background: #665533;
permet d'appliquer une couleur de fond.height: 5vh;
permet de donner une hauteur de 5 ViewPortHeight (5% en hauteur)background: #f23f98;
permet d'appliquer une couleur de fond.margin: 2%;
permet de donner une marge tout autour de la zone de 2% (les pourcentages permettent d'imposer une marge variable selon la taille de l'écran / fenêtre).background: #32f65f;
permet d'appliquer une couleur de fond.height: 7.5vh;
permet de donner une hauteur de 7.5 ViewPortHeight (7.5% en hauteur)float: left;
donne un effet flottantwidth: 50%;
donne une largeur variable : 50% de la taille de l'écran / fenêtre en largeurheight: 28vh;
donne une hauteur variable : 50% de la taille de l'écran / fenêtre en hauteurbackground: #336699;
donne une couleur de fondclear: both;
permet de "stopper" l'effet flottant (initié par le float: left;
).
Voici les différentes unités de mesures que nous pouvons rencontrer :
p{ font-size: 15px; }
- Taille de texte exprimée en pixelsp{ font-size: 1em; }
- Taille de texte exprimée en EMfont-size: 0.7 em;
correspond a 70% de la taille normale de la police.p{ font-size: 5mm; }
- Taille de texte exprimée en milimètresp{ font-size: 5cm; }
- Taille de texte exprimée en centimètresdiv{ width: 70%; }
- Largeur d'une zone exprimée en pourcentagediv{ height: 70vh; }
- Hauteur d'une zone exprimée en VHdiv{ width: 70vw; }
- Largeur d'une zone exprimée en VHdiv{ width: 70vmin; }
- Largeur minimum d'une zone exprimée en VMIN (VM pour IE9+)div{ width: 200vmax; }
- Largeur maximum d'une zone exprimée en VMAX (VM pour IE9+)RESPONSIVE DESIGN
1. Le Responsive Design 2. Exemples 3. Creer Sa Page Web 4. Site Web Responsive Design