Nous allons utiliser
"grid" pour réaliser un placement de blocs.
Code de départ
Nous écrivons un flux.
<section class="intro">
<h1>Quai </h1>
<h2><a href="#">voyager</a></h2>
<img src="https://www.ibisc.univ-evry.fr/~dupont/52.jpg" alt="test">
<p>Sous le rideau l'eau de la mer
</p>
</section>
le placement dans la grille de chaque balise permettra de modifier visuellement le flux (ordre des éléments)
Voici le résultat à obtenir après le placement des différents blocs.
La plus grande difficulté du projet est la création de la grille ; le codage ne devant pas poser de difficulté à un spécialiste CSS.
Voici la grille que l'on peut imaginer comme un calque sur votre projet.
Elle est constituée de 3 colonnes et de quatre lignes.
Examinons quelques exemples de placement
l'image
Le placement de l'image prend toute la largeur et 3 lignes.
Pour donner l'aspect final, il faudra jouer sur d'autres propriétés en particulier la taille doit être mise à 100% (du conteneur)
{ width: 100%; height: 100%; object-fit: fill; // ou object-fit: cover; opacity: 0.6;
}
le bloc : voyager
Le placement de ce bloc est simple.
Comme précédemment, il faudra un grand nombre d'ajouts pour obtenir le résultat final désiré.
{
text-transform: uppercase;
border: 1px solid black;
background: rgba(255, 255, 255, 0.6);
padding: 1rem 0.5rem 0.6rem;
font-size: 1.2rem;
margin: 0;
align-self: self-start; // permet de mettre le bloc en haut de l'emplacement.
}
Le bloc : Quai
L'idée initiale de placer le bloc "quai" au centre, ne permettrait pas à la bordure rouge de prendre toute la longueur.
Le placement du bloc doit donc s'étendre sur toute la second ligne.
L'ajout de propriété sur le body {text-align: center;} et sur le bloc { border-bottom: 20px solid red }
permettront de donner l'allure finale.
Les étapes du projet
Nous allons tenter de mettre en place une grille correspond aux attentes (du client).
Utilisation du simulateur
Avant de penser aux éléments réels du projet, nous allons penser en termes de blocs de couleur.
L'idée est d'arriver à construire une grille suivante :
Allez sur
http://dupontcss.blogspot.fr/p/test-grill.html
Ecrivez le code suivant
.conteneur {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
}
Ajouter les dispositions centrer
.conteneur {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
grid-template-rows: 1fr 1fr 1fr 1fr;
grid-gap: 2em;
justify-content: center;
align-items: center;
text-align: center;
}
#it3 {
width : 100%;
height : 100%;
grid-column: 1 / -1;
grid-row: 1 / 4;
object-fit: fill;
opacity: 0.6;
z-index:3;
}
#it1 {
text-transform: uppercase;
grid-column: 1 / -1;
grid-row: 2 / 3;
font-size: calc(1rem + 1vw);
margin-left: 1rem;
margin-right: 1rem;
z-index : 2;
}
#it2 {
text-transform: uppercase;
border: 1px solid black;
background: rgba(255, 255, 255, 0.6);
padding: 1rem 0.5rem 0.6rem;
font-size: 1rem;
grid-column: 2 / 3;
grid-row: 3 / 4;
align-self: self-start;
z-index : 2;
}
#it4 {
grid-column: 1 / -1;
grid-row: 4 / 5;
align-self: center;
width: 66%;
justify-self: center;
font-size: calc(0.75rem + 1vw);
line-height: 1.5;
margin: 0;
}
En action :
See the Pen
Example grid by dupont (@dupontcodepen)
on CodePen.