Partage
  • Partager sur Facebook
  • Partager sur Twitter

Aligner des éléments dynamiques (PHP) en CSS

Sujet résolu
19 février 2020 à 11:45:15

Bonjour à tous, 

Alors voila j'ai un petit bout de code PHP qui m'affiche des données d'une base : 

<div id="divoffre">
        <p class="offre">

			    <?php echo

						// Affichage des offres
				   "<span class='offre_libelle'>" . $donnees['off_libelle'] . "</span>" .
				    '<br /><br />' . $donnees['off_description'].
				    '<br /><br />' . $donnees['off_missions'].
						'<br /><br />' . $donnees['off_profil'];

					 ?>

					 <br />
					 <br />

					 <!-- Bouton modifier -->
					  <a href="modif_offre.php?id=<?php echo $donnees['off_id']; ?>" style="margin-right: 1em;"><img src="../img/modif_actu.png" title="Modifier" /></a>

						<!-- Bouton supprimer -->
						<a href="suppr_offre.php?id=<?php echo $donnees['off_id']; ?>"><img src="../img/suppr_actu.png" title="Supprimer" /></a>

					 <?php
						 }

						 // Fin de la boucle qui affiche les offres
					   $requete->closeCursor();
					 ?>
	 			</p>
			</div>

Et le CSS concerné :

#divoffre {
  max-width: 100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
}

.offre {
  width: 350px;
  height: 215px;
  text-align: justify;
  padding: 1em;
  overflow: auto;
  background: #F9F9F9;
  border: 1px solid rgba(0,0,0,0.2);
}

J'aimerais que les éléments s'affichent en ligne (4 éléments idéalement vue la largeur), et pour chaque dernier élément de la ligne, on retourne à la ligne.

Le problème, c'est que le retour à la ligne se fait après le 1er élément, et pas le 4e.

Donc voila, si vous avez des pistes, je suis preneur. Merci


  • Partager sur Facebook
  • Partager sur Twitter
19 février 2020 à 14:57:40

Bonjour,

utilise une div plutôt qu'une balise p, remplace <p class="offre"> par <div class="offre">

  • Partager sur Facebook
  • Partager sur Twitter
19 février 2020 à 15:16:52

JasonBrard2 a écrit:

Bonjour,

utilise une div plutôt qu'une balise p, remplace <p class="offre"> par <div class="offre">


Quand je fais ça, toutes les div se chevauchent, j'ai ajouté un :
position: absolute

Pour éviter le chevauchement, mais ducoup les div s'affichent comme ça :

-
Edité par Ashgarn 19 février 2020 à 15:17:18

  • Partager sur Facebook
  • Partager sur Twitter
20 février 2020 à 9:40:48

Essaye de passer le width de tes div à 25% (ou moins)
  • Partager sur Facebook
  • Partager sur Twitter