Création de cards

Fermé
kiki184 Messages postés 24 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 29 mars 2023 - 24 mars 2023 à 16:38
jordane45 Messages postés 38254 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 octobre 2024 - 28 mars 2023 à 18:01

Bonjour,

Il faut que je crée des "cards" comme sur la photo. Il me semble que je dois utiliser la manière bootstrap. Je dois également remplir les titres... grâce à ma base de donnée qui est sur Phpmyadmin avec du php. 

Si quelqu'un peut m'éclairer sur la manière dont il faut procéder. 

Merci d'avance ????
Macintosh / Safari 16.3

A voir également:

6 réponses

jordane45 Messages postés 38254 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 octobre 2024 4 692
Modifié le 27 mars 2023 à 21:13

Bonjour

Tu dois le faire en JavaScript ?

Pour bootstrap, tu trouveras les card dans la doc sans difficulté..

Reviens nous voir avec ce que tu auras commencé à coder... Là c'est trop vague.


0
kiki184 Messages postés 24 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 29 mars 2023
27 mars 2023 à 20:10

Bonjour, 

Voici ce que j'ai déjà codé. Comment je-peux maintenant faire pour que lorsque la fenêtre est réduite, les cards soient "empilés" les une sur les autres et ne soient pas en 3 par 3. 

Merci d'avance. 

<!DOCTYPE html>
<html lang="fr">
	<head>
		<meta charset="UTF-8">
		<title>Accueil</title>
		<link rel="icon" href="#">
		<link rel="stylesheet" href="style.css">
		<link rel="stylesheet" href="test.css">
		<link rel="stylesheet" href="bootstrap.min.css">
		<meta name="viewport" content="width=device-width, initial-scale=1">
	</head>
	
	<body>
		<!-- HEADER -->
		<header>
			<img src="Images/logo.jpg" alt="" title="logo" href="index.html" id="logo">
			<h1 class="titre_0">Studyline</h1>
			<div class="btn_header">
				<a href="inscription.html">S'inscrire</a>
			</div>

			<div class="btn_header">
				<a href="connexion.html">Se connecter</a>
			</div>
		</header>

		<!-- BARRE DE NAVIGATION -->
		<nav>
			<ul>
				<li><a href="cours.html">Cours</a></li>
				<li><a href="thematiques.html">Thématiques</a></li>
				<li><a href="enseignants.html">Enseignants</a></li>
			</ul>

			<div>
				<label>Recherche</label>
				<input type="search" name="recherche">
				<button><img src="#" href="#"></button>
			</div>

			<div>
				<img src="#" alt="" title="Compte">
				<p>Mon compte</p>
			</div>
		</nav>

		<!-- CONTENU DE LA PAGE -->
		<main>

			<section>
				<h1 class="titre_1">Nos Cours</h1>
				
<?php
			$database = 'u968632943_studyline';
			$db_handle = mysqli_connect('127.0.0.1', 'u968632943_studyline', '4h^uI=gN^w');
			$db_found = mysqli_select_db($db_handle, $database);

			if($db_found) {
				echo "connexion réussie";
				$sql= "SELECT * FROM COURSE";
				$result = mysqli_query($db_handle, $sql);
				echo "<div class='container'>";
				$i = 0;
				while ($data = mysqli_fetch_assoc($result)) {
					if($i % 3 == 0){
						echo "<div class='row'>";
					}
					echo "<div class='col-md-4 mb-4'>
			                <div class='card h-100'>
			                  <img src='".$data['image_course']."' class='card-img-top' alt='...' width='auto' height='auto'>
			                  <div class='card-body'>
			                    <h5 class='card-title'>" . $data['name_course'] . "</h5>
			                    <p class='card-text'>" . $data['theme'] . "</p>
			                    <div class='row'>
			                    	<div class='col-6'>
			                    		<p><img src='Images/duree.png' alt='Durée' style='height: 20px;'> " . $data['duration'] . " heures</p>
			                    	</div>
			                    	<div class='col-6 text-right'>
			                    		<p><img src='Images/niveau.png' alt='Niveau' style='height: 20px;'> " . $data['level'] . "</p>
			                    	</div>
			                    </div>
			                    <a href='cours.php?id=".$data['id_course']."' class='btn".$data['id_course']."'>Accéder au cours</a>
			                  </div>
			                </div>
			              </div>";
			        $i++;
					if($i % 3 == 0){
						echo "</div>";
					}
				}
				if($i % 3 != 0){
					echo "</div>";
				}
				echo "</div>";
			} else {
				echo "La base de données n'existe pas";
			}
			mysqli_close($db_handle);
		?>			

			</section>

			<section>
				<h1 class="titre_1">À propos de nous</h1>		
				<p>
				Studyline est une plateforme de cours en ligne offrant une gamme de cours sur l'audiovisuel, conçus pour aider les étudiants à acquérir les compétences et les 
				connaissances nécessaires pour réussir dans l'industrie de la production audiovisuelle. Nous proposons des cours d'introduction à la production audiovisuelle,
				ainsi que des cours plus avancés sur des sujets tels que le montage vidéo, la réalisation, le sound design, la diffusion et la promotion.
				Nos cours sont animés par des experts de l'industrie, qui partagent leur expérience et leur savoir-faire pour aider les étudiants à développer leur propre 
				style et leur créativité. Les cours sont conçus pour être pratiques et faciles d'accès. Notre plateforme offre une expérience d'apprentissage flexible, avec
				des cours accessibles en ligne à tout moment, de n'importe où dans le monde, pour répondre aux besoins des étudiants qui ont des emplois du temps chargés.
				</p>
			</section>
		</main>

		<!-- FOOTER -->
		<footer>
			<div>
				<h4>SUIVEZ-NOUS</h4>
				<img src="Images/instagram.png" alt="" title="Instagram" class="icon">
				<img src="Images/facebook.png" alt="" title="Facebook" class="icon">
				<img src="Images/twitter.png" alt="" title="Twitter" class="icon">
				<img src="Images/youtube.png"  alt="" title="Youtube" class="icon">
			</div>

			<div>
				<img src="#" alt="" title="logo">
				<ul>
					<li>Mentions légales</li>
					<li>Conditions générales</li>
					<li>Politique de confidentialité</li>
					<li>Cookies</li>
				</ul>
				<p><span class="bold">Copyright © Studyline, 2023</span>Tous droits réservés</p>
			</div>

			<div>
				<img src="#" alt="" title="">
				<h4>CONTACTEZ-NOUS</h4>
			</div>
		</footer>
		
<script src="test.js"></script>
<script src="bootstrap.bundle.min.js"></script>
	</body>
</html>
0
kiki184 Messages postés 24 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 29 mars 2023
27 mars 2023 à 20:11
/*FONTS*/

@font-face{
	font-family: "BakbakOne-Regular";
	src: url('Fonts/BakbakOne-Regular.ttf');
}
@font-face{
	font-family: "AmaticSC-Regular";
	src: url('Fonts/AmaticSC-Regular.ttf');
}
@font-face{
	font-family: "AmaticSC-Bold";
	src: url('Fonts/AmaticSC-Bold.ttf');
}
@font-face{
	font-family: "Montserrat-Regular";
	src: url('Fonts/Montserrat-Regular.ttf');
}
@font-face{
	font-family: "Montserrat-Bold";
	src: url('Fonts/Montserrat-Bold.ttf');
}
@font-face{
	font-family: "Montserrat-Black";
	src: url('Fonts/Montserrat-Black.ttf');
}



/*RESET*/

*, ::before, ::after{
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body{
}

header{
	background-color: #97B797;
	height: 10vw;
}

nav{
	background-color: #E3E3E3;
}

main{
	margin-top: 500px;
}

.btn_header {
	background-color: #FFFFFF;
	border: 1px solid white;
	float: right;
	margin-left: 70%;
	margin-right: 20%;
	padding: 10px 30px;
}

img{
	cursor: pointer;
}

#logo{
	height: 100%;
	margin-left: 1vw;
}

.titre_0 {
	font-family: Montserrat-Bold;
	text-transform: uppercase;
	font-size: 4.5vw;
	text-align: center;
	float: right;
	margin-top: 2.5%;
	margin-right: 60%;
}

.titre_1 {
	font-family: BakbakOne-Regular;
	font-size: 5vh;
}

.titre_2 {
	font-family: Montserrat-Bold;
	font-size: 5vh;
}

.icon{
	width: 3%;
	height: 3%;
}

p{
	font-family: Montserrat-Regular;	
}
.card {
  margin-bottom: 20px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.col-md-4 {
  flex: 0 0 33.3333%;
  max-width: 33.3333%;
  padding: 0 15px;
} 
0
kiki184 Messages postés 24 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 29 mars 2023
27 mars 2023 à 20:12

Voici mes différents codes 

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jordane45 Messages postés 38254 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 octobre 2024 4 692
27 mars 2023 à 21:16

Bonjour

Tu as défini une largeur de 4 colonnes sur tes cardes pour le medium screen.

Tu dois également ajouter une définition sur 12 colonnes pour les petits écrans (small screen ) avec la class col-sm-12.

De cette façon, lorsque l'écran est réduit, ta carte prendra la largeur de l'écran. Les autres se placeront tout naturellement en dessous.


0
kiki184 Messages postés 24 Date d'inscription jeudi 4 mai 2017 Statut Membre Dernière intervention 29 mars 2023
28 mars 2023 à 16:57

Super cela à fonctionné, merci beaucoup. Mes cartes sont maintenant collé les unes aux autres. J'ai essayé de mettre des <br> ou des margin dans mon css mais cela ne fonctionne pas. 

Est-ce qu'il y a un autre moyen ? 

0
jordane45 Messages postés 38254 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 octobre 2024 4 692
28 mars 2023 à 18:01

des BR dans le CSS ???????

mais non !

Il faut que tu joues avec les propriétés padding ou margin de tes éléments...

Mas là, ta question n'a plus aucun rapport avec la programmation...

SI tu rencontres encore des soucis, merci d'ouvrir une nouvelle discussion dans le forum webmaster/css

et pense à mettre celle la en résolue...

0