Bonjour,
Je souhaite mettre 2 paragraphes l'un en dessous de l'autre mais je ne comprends pas pourquoi les 2 <p> s'obstinent à se mettrent l'un à côté de l'autre comme sur deux colonnes...
J'ai essayé plusieurs méthodes mais sans succés.

Voici le html:

"<article class="presentation">
                <h2>Prénom Nom</h2>
                <p>En recherche d'alternance</p>
                <p>
                    Petite présentation lorem ipsum dolor sit amet,
                    consectetur adipisicing elit. Accusamus culpa cumque delectus esse est
                    eum ex fuga itaque iusto magni numquam odit perferendis provident quia quibusdam
                    repudiandae, veritatis! Dolorum, minima. Accusamus adipisci aliquam asperiores autem
                    beatae cupiditate dignissimos doloremque ea
                </p>
                <figure>
                    <img alt="photo profil" src="images/photo.jpg"/>
                    <figcaption>Ma photo</figcaption>
                </figure>
            </article>"

** Voici le css:**
 ".presentation {
    display: grid;
    grid-template-areas: "photo nom""p1 p1""p2 p2";
    grid-template-columns: 50% 50%;
    grid-template-rows: repeat(3);
    grid-auto-rows: minmax(50px, auto)
        }
            figure {
            grid-area: photo;
            }
            .presentation+h2 {
            grid-area: nom;
            }
            .presentation+h2+p {
            grid-area: p1;
            grid-column: 1 / 3; 
            grid-row: 2 / 3; 
            }
            .presentation+h2+p+p {
            grid-area: p2;
            grid-column: 1 / 3; 
            grid-row: 3 / 4; 
            }"

Ce que je veux

Positionner les 2 <p> l'un en dessous de l'autre et qu'ils occupent tous les 2 la pleine largeur des 2 colonnes attribuées.

Ce que j'obtiens

Les 2 <p> se mettent l'un à côté de l'autre sur 2 colonnes. Le second <p> ne se positionnant pas sur les 2 colonnes et n'occupe donc pas la largeur totale des 2 colonnes mais juste sur la seconde.
Je ne comprends pas l'erreur que j'ai pu faire. J'ai essayé d'appuyer leurs positions en imposant 3 rangées: "grid-template-rows: repeat(3)"
et aussi en fixant leurs positions avec des "grid-column: 1 / 3;" et "grid-row: 3 / 4"
Je suis novice, en formation dans le html/css, et ceci répond à un exercice où nous ne devons pas toucher au Html.
Je vous remercie pour toute l'aide et conseil que vous pourrez m'apporter.

4 réponses


SiProdZz
Réponse acceptée

Je dirai tout simplement de retirer le CSS. Tu pourrais dans un premier temps, montrer tout ton code CSS s'il te plaît.

Sinon par défaut une balise <p> est de type "block". Il va donc automatiquement à la ligne et prend déjà toute la largeur de la taille de son "parent". Tu peux jouer avec le padding pour gérer la hauteur.

darkb
Auteur

voici une image explicative :
(https://imgur.com/4fmPEtO)[]

darkb
Auteur

bonjour SiProdZz, et merci pour votre aide.
J'ai essayé de supprimer la partie css et les 2 paragraphes se mettent bien en forme comme il faut.
Par contre, la photo et le nom apparaissent en bas, en dessous des éléments <p>.
Je ne comprends pas pourquoi ma grille faite sur le parent ".presentation" ne fonctionne pas sur les 2 <p>
Je vous joint une image du CSS complet (jusqu'ici...).
Je suis bloqué sur ce problème et cela m'empèche de continuer sa mise en forme...
[https://imgur.com/8RY9fv4]

Bonjour darkb, tu pourrai m'envoyé directement le code que je regarde et que je test plus simplement le code.
Ton css à surement agit sur t'es paragraphes, autre chose doit déranger.

Tu peux vérifier le css sur ton navigateur :

  • f12 -> section élément.
  • clique droit -> inspecter élément

Et surtout je n'ai pas bien compris t'as demande.
Dans ton html tu as bien de haut en bas.
nom,prenom
paragaraphe1
paragraphe 2
image.