I'm on student project ( I have to reproduce desktop mockup) and from many hours I don't know what to do with flexbox. I'm trying to align 3 elements in same rows.
So , I make a division to get the width for each elements and I got 33.33%, but when I'm trying to code it I'm not sure of the reason that the third element go under the two others.
I used the inspector to see
/* GENERAL RULES */
/* FONT */
@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@700&family=Roboto:ital,wght@1,300&family=Source+Sans+Pro:wght@600&display=swap');
*
{
margin: 0;
padding: 0;
list-style-type: none;
text-decoration: none;
}
body
{
font-family: 'Raleway', sans-serif;
}
/* HEADER */
header
{
display: flex;
justify-content: space-between;
}
#logo
{
margin-left: 55px;
margin-top: 12px;
}
#menu ul
{
display: flex;
flex-direction: row;
}
#menu ul li
{
padding: 30px;
margin-right: 35px;
}
#menu a:visited
{
color:black;
}
#menu ul li:hover
{
border-top: 1px solid #0065FC;
}
#menu ul li a:hover{
color:#0065FC;
}
/* END OF HEADER */
/* Section-1 */
.city_search
{
margin-left: 35px;
}
.hosting_description
{
margin-top: 25px;
}
.hosting_description .city_search > p
{
color:gray;
line-height:45px;
}
.hosting_description #map-marker
{
background-color:#F0F0F0;
padding: 14px 14px 17px 14px;
border-top-left-radius: 10px;
border-bottom-left-radius: 10px;
position: relative;
left:4px;
}
.hosting_description a
{
background-color: #0065FC;
padding: 14px 14px 13px 14px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
text-align: center;
position: relative;
top:2px;
left:53px;
}
.hosting_description a:visited
{
color:white;
}
.city_search--input{
}
input[type=text]
{
padding:15px;
border: none;
outline: transparent;
}
::placeholder
{
color:black;
font-weight: 700;
}
.filters
{
display: flex;
margin-top:50px;
margin-left: 55px;
margin-bottom: 15px;
}
.filters h4{
margin-left: -8px;
}
.filters .fas
{
margin-left: -50px;
background-color:#DEEBFF;
color: #0065FC;
border-radius: 50%;
padding: 15px;
position: relative;
left:72px;
z-index: 1000;
bottom: 15px;
}
.filters .fas:nth-child(4)
{
position: relative;
left: 68px;
}
.filters .fas:nth-child(6)
{
position: relative;
left: 68px;
}
.filters p
{
margin-left: 25px;
border: 1px solid #E8E8E8;
border-radius: 50px;
padding:15px 15px 15px 55px;
position: relative;
bottom: 15px;
}
.filters .fas:hover
{
color:white;
background-color:#0065FC;
cursor: pointer;
}
.filters p:hover
{
cursor: pointer;
color:white;
background-color:#0065FC;
}
#filters_indications {
font-size: 16px;
margin-left: 50px;
color:gray;
}
#filters_indications .fas
{
border: 1px solid #E8E8E8;
border-top-right-radius: 80%;
border-top-left-radius: 80%;
border-bottom-left-radius: 80%;
border-bottom-right-radius: 80%;
padding: 5px 10px 5px 10px;
font-size: 12px;
color:blue;
margin-right: 8px;
position: relative;
bottom: 2px;
}
/* END OF SECTION -1 */
/* SECTION -2 */
.section-2
{
display: flex;
justify-content: center;
}
.card_hostings{
display: flex;
flex-wrap:wrap;
align-content: flex-start;
background-color: lightgray;
width:50%;
border-radius: 50px / 50px;
}
.item{
position: relative;
top:100px;
width:33%;
background-color: white;
margin-bottom: 25px;
border-top-right-radius: 10%;
border-top-left-radius:10% ;
border-bottom-left-radius: 10%;
border-bottom-right-radius: 10%;
padding: 5px;
}
.item img{
width: 100%;
height:162px;
border-top-right-radius: 10%;
border-top-left-radius:10% ;
}
.item p {
line-height: 30px;
}
.card_hostings--2{
display: flex;
flex-direction: column;
background-color: lightgray;
width: 20%;
margin-left: 30px;
}
.item--2{
width: 300px;
}
.item--2 img{
width: 100%;
height: 162px;
border-top-right-radius: 10%;
border-top-left-radius:10% ;
}
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Booki - AgenceDevetMoi</title>
<!-- FAVICON -->
<link rel="icon" type="image/png" href="./assets/images/logo/Booki@3x.png" />
<!-- FONT AWESOME -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta2/css/all.min.css" crossorigin="anonymous" referrerpolicy="no-referrer" />
<!-- CSS -->
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<!-- HEADER -->
<header>
<div id="logo">
<a href="index.html"><img src="./assets/images/logo/Booki.png" height="50" width="100" alt="logo"></a>
</div>
<nav id="menu">
<ul>
<li><a href="#hosting">Hébergements</li></a>
<li><a href="#activities">Activités</li></a>
</ul>
</nav>
</header>
<!-- END OF HEADER -->
<!-- Section-1 -->
<section class="section-1">
<div class="hosting_description">
<div class="city_search">
<h1>Trouvez votre hébergement pour des vacances de rêve</h1>
<p>En plein centre ville ou en pleine nature</p>
<div class="city_search--input">
<i id="map-marker" class="fas fa-map-marker-alt"></i>
<input type="text" placeholder="Marseille, France"><a href="#">Rechercher</a>
</div>
</div>
</div>
<div class="filters">
<h4>Filtres</h4>
<i class="fas fa-money-bill-wave"></i>
<p class="filters_paragraphs">Économique</p>
<i class="fas fa-child"></i>
<p class="filters_paragraphs">Familial</p>
<i class="fas fa-heart"></i>
<p class="filters_paragraphs">Romantique</p>
<i class="fas fa-dog"></i>
<p class="filters_paragraphs">Animaux autorisés</p>
</div>
<p id="filters_indications">
<i class="fas fa-info"></i>
Plus de 500 logements sont disponibles dans cette ville
</p>
</section>
<!-- END OF SECTION-1 -->
<!-- SECTION-2 -->
<section class="section-2">
<h1 id="hosting">Hébergements à Marseille</h1>
<div class="card_hostings">
<!-- FIRST CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/auberge_cannebière.jpg" alt="Auberge La Cannebière">
<h3 class="card_hostings--title">Auberge La Cannebière</h3>
<p>Nuit à partir de <strong>25€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
<!-- SECOND CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/Hôtel_du_port.jpg" alt="Hôtel du port">
<h3 class="card_hostings--title">Hôtel du port</h3>
<p>Nuit à partir de 52<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
<!-- THIRD CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/Hôtel_Les_mouttes.jpg" alt="Hôtel Les mouettes">
<h3 class="card_hostings--title">Hôtel Les mouettes</h3>
<p>Nuit à partir de 76<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
<!-- FOURTH CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/Hôtel_de_la_mer.jpg" alt="Hôtel de la mer">
<h3 class="card_hostings--title">Hôtel de la mer</h3>
<p>Nuit à partir de 46<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
<!-- FIFTH CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/Auberge_Le_Panier.jpg" alt="">
<h3 class="card_hostings--title">Auberge Le Panier</h3>
<p>Nuit à partir de <strong>23€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
<!-- SIX CARD -->
<div class="item">
<img src="./assets/images/hebergements/2_large/Hôtel_chez_Amina.jpg" alt="">
<h3 class="card_hostings--title">Hôtel chez Amina</h3>
<p>Nuit à partir de 96<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
</div>
<div class="card_hostings--2">
<h1>Les plus populaires <i class="fas fa-chart-line"></i></h1>
<div class="item--2">
<img src="./assets/images/hebergements/2_large/Hôtel_Le_soleil_du_matin.jpg" alt="Hôtel Le soleil du matin">
<h3 class="card_hostings--title">Hôtel Le soleil du <br> matin </h3>
<p>Nuit à partir de 128<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
</div>
<div class="item--2">
<img src="./assets/images/hebergements/2_large/Au_coeur_de_l'eau_Chambres_d'hôtes.jpg" alt="Au coeur de l'eau Chambres d'hôtes">
<h3 class="card_hostings--title">Au coeur de l'eau <br> Chambres d'hôtes</h3>
<p>Nuit à partir de 71<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
<div class="item--2">
<img src="./assets/images/hebergements/2_large/Hôtel_tout_bleu_tout_blanc.jpg" alt="">
<h3 class="card_hostings--title">Hôtel Tout bleu et <br> Blanc</h3>
<p>Nuit à partir de 68<strong>€</strong></p>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<i class="fas fa-star"></i>
<!-- Change the color on light gray-->
<i class="fas fa-star"></i>
</div>
</div>
</section>
<!-- END OF SECTION-2 -->
<!-- SECTION-3 -->
<section class="section-3">
<h1 id="activities">Activités à Marseille</h1>
<div class="cards_activities">
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Vieux_port.jpg" alt="Vieux port">
<h3>Vieux port</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Fort_de_Pomègues.jpg" alt="Fort de Pomègues">
<h3>Fort de Pomègues</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Îles_du_Frioul.jpg" alt="Îles du Frioul">
<h3>Îles du Frioul</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Parc_National_des_Calanques.jpg" alt="Parc National des Calanques">
<h3>Parc National des Calanques</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Parc_National_des_Calanques.jpg" alt="Parc National des Calanques">
<h3>Parc National des Calanques</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Notre-Dame-de-la-Garde.jpg" alt="Notre-Dame-de-la-Garde">
<h3>Notre-Dame-de-la-Garde</h3>
</div>
<div class="elements">
<img src="./assets/images/activites/1_xlarge/Parc_Longchamp.jpg" alt="Parc_Longchamp">
<h3>Parc Longchamp</h3>
</div>
</div>
</section>
<!-- END OF SECTION-3 -->
<!-- FOOTER -->
<footer>
<h3>À propos</h3>
<ul>
<li>Fonctionnement du site</li>
<li>Conditions générales de vente</li>
<li>Données et confidentialité</li>
</ul>
<h3>Nos hébergements</h3>
<ul>
<li>Charte qualité</li>
<li>Soumettre votre hôtel</li>
</ul>
<h3>Assistance</h3>
<ul>
<li>Centre d'aide</li>
<li>Nous contacter</li>
</ul>
</footer>
</body>
</html>
what happend and I clearly see that the width seems to be the problem but I don't know how to resolve it...
Could you help me ? ( I already see many topics about flexbox and same problems but I couldn't applies them to my situation)
This is the design that I have to reproduce and the part that I want to do is the middle one on left with 6 pictures.
