Pour évaluer nos compétences sur le Responsive Design, notre formateur nous a demandé de créer une page d’un blog fictif, avec les indications suivantes :
Il m’aura fallu une vingtaine d’heures pour réaliser le travail ci-dessous :
Mon code HTML :
Le CSS a été mis dans deux fichiers. Le premier permet de regrouper tous les styles communs, et le second pour regrouper toute la mécanique Responsive Design.
Ci-dessous, mon CSS pour les styles-communs :
@import url(‘https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i’);*, ::before, ::after { box-sizing: border-box; }img { max-width: 100%; display: block; }body { font-family: « Roboto », sans-serif; background-color: #0b192f; font-size: .85rem; margin: 0; }#enveloppe { padding: 0 10px; background-color: #0b192f; }#entete-page { background-color: #162b4d; text-align: center; color: white; padding: 10px; }#entete-page h1, h2 { font-weight: 100; }#entete-page h1 { font-size: 2rem; }#entete-page h2 { font-size: .85rem; color: #48718f; }.titre-rose { color: #d12766; }#navigation-principale { background-color: #132b4e; }#navigation-principale a { text-decoration: none; color: #fff; text-align: center; display: block; padding: 1rem; border-bottom: 2px solid #0b192f; }#navigation-principale ul { background-color: #132b4e; list-style: none; padding: 0; margin: 0; }#navigation-principale li:nth-of-type(1) { background-color: #0b192f; list-style: none; padding: 0; margin: 0; } #navigation-principale a:hover { .bloc-article h2, .bloc-article p { .module-page h3 { .module-page { .module-page p { .image-article:hover { .article-en-une { .titre-article a { .titre-article a:hover { .titre-annexe { .image-annexe, .article01 { .article02 { .article03 { .article04 { .article05 { .corps-article { .bloc-article .date-article { .bloc-article .date-article .jour { .bloc-article .date-article .mois { #pied-page { |
Ci-dessous, mon CSS pour le Responsive Design :
#enveloppe { position: relative; overflow: hidden; }#entete-page { padding-top: 70px; }#etiquette-controle-menu-principal { display: block; padding: 0; color: white; background-color: #162b4d; width: 4rem; padding-left: 4rem; position: absolute; height: 5rem; top: 10px; left: 45%; overflow: hidden; z-index: 100; }#controle-menu-principal { display: none; }#navigation-principale ul { max-height: 0px; opacity: 0; transition: all .5s; }#etiquette-controle-menu-principal::after { content: « \2261 »; position: absolute; right: .1em; top: .1em; font-size: 5.5em; }#controle-menu-principal:checked ~ #navigation-principale ul { opacity: 1; max-height: 300px; transition: all .5s; }@media screen and (min-width:768px) { #enveloppe::before, #entete-page::before, #navigation-principale::before, .article-en-une::before, .bloc-article::before, .corps-article::before, .date-article::before, .image-article::before, #annexes-page::before, #pied-page::before { content: « »; display: table; }#enveloppe::after, #entete-page::after, #navigation-principale::after, .article-en-une::after, .bloc-article::after, .corps-article::after, .image-article::after, .date-article::after, #annexes-page::after, #pied-page::after { content: « »; display: table; clear: both; }#enveloppe { max-width: 1140px; margin: auto; } #etiquette-controle-menu-principal { #entete-page { #entete-page h1, #entete-page h2 { #navigation-principale > ul { #navigation-principale > ul > li { #navigation-principale > ul > li > a { .article-en-une { .bloc-article { .article-en-une .bloc-article:nth-child(odd) .image-article { .article-en-une .bloc-article:nth-child(odd) .corps-article { .article-en-une .bloc-article:nth-child(even) .image-article { .article-en-une .bloc-article:nth-child(even) .corps-article { .article01 .date-article, .article-en-une .article05 { .article02 .date-article, #annexes-page { #pied-page .copyright { #pied-page .design { #pied-page { |
Au final, l’apparence de la page du blog, en version écran mobile et en version écran PC :
VERSION ECRAN MOBILE :
VERSION ECRAN MOBILE, MENU DÉROULÉ :
VERSION ECRAN PC :